Skip to content

tempest-byte/DOS_homework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

仅包含编程作业,阅读作业未添加


目录


作业三

要求

  • 用fork创建进程。 用共享内存方式实现缓冲区。
  • 有2个生产者,2个消费者。
  • 生产者将1至10000000的数据放入缓冲区,消费者从缓冲区中读取数据,并进行累加。
  • 最终输出2个消费者的累加之和。

代码

作业四

要求

  • 用pthread多线程,condition variable(条件变量)解决如下问题:
  • 有2个生产者,2个消费者。
  • 生产者将1至10000000的数据放入缓冲区,消费者每次从缓冲区中读取至少两个数据,并进行累加。
  • 最终输出2个消费者的累加之和。

代码

作业五

要求

  • 分别用三种方式实现下列代码:
int i, sum;  
sum=0;  
for(i=0; i<10000000; i+=4) {  
sum ++;  
sum ++;  
sum ++;  
sum ++;  
}  
  • 把i,sum放到寄存器中执行。每次累加时从寄存器读取数据。
  • 把i,sum放到内存中执行,能够被cache。读写均在cache中完成。
  • 把i,sum放到内存中执行,不能够被cache。读写均在DRAM中完成。

代码

作业六

要求

  • 设计一个分布式处理系统。一个节点(进程)作为Master,负责节点注册,任务分配;其它多个节点(进程)作为worker,执行客户端发送的请求。系统执行流程为:
  • Master首先启动
  • Worker节点启动后向Master进行“注册”;Master维护所有已注册节点的信息(比如IP地址和TCP/UDP端口,服务类型等);
  • 客户端提交任务前首先向Master发送“查询”消息,询问将任务提交给哪个worker
  • Master根据一定策略(如轮询)从所有Worker中选择一个worker,比如A,将其信息发送给Client
  • Worker A完成任务后将结果返回给客户端
  • 计算任务为:两个数的+,-,*,/。数据类型支持32位整数、64位整数、浮点数
  • 要求消息编码格式:google protocol buffer
  • Worker端要支持多个客户端请求的并发处理
  • 测试要求:
    • Worker数量不少于3个
    • 客户端数量不少于3个
    • 单个客户端发送请求数要大于100万个,或者测试时间不少于10分钟

代码

作业七

要求

  • 使用spark编写程序

代码

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published