关于项目,我出两个练手题目:

一、多机数据处理。有 10 台机器,每台机器上保存着 10 亿个 64-bit 整数(不一定刚好 10 亿个,可能有上下几千万的浮动),一共约 100 亿个整数(其实一共也就 80GB 数据,不算大,选这个量级是考虑了 VPS 虚拟机的容量,便于实验)。编程求出:

1. 这些数的平均数。

2. 这些数的中位数。

3. 出现次数最多的 100 万个数。

*4. (附加题)对这 100 亿个整数排序,结果顺序存放到这 10 台机器上。

*5. (附加健壮性要求)你的程序应该能正确应对输入数据的各种分布(均匀、正态、Zipf)。

*6. (附加伸缩性要求)你的程序应该能平滑扩展到更多的机器,支持更大的数据量。比如 20 台机器、一共 200 亿个整数,或者 50 台机器、一共 500 亿个整数。

二、N-皇后问题的多机并行求解。利用多台机器求出 N-皇后问题有多少个解。(注意目前的世界纪录是 N = 26,A000170 - OEIS )

1. 8 皇后问题在单机上的运算时间是毫秒级,有 92 个解,编程实现之。

2. 研究 N-皇后问题的并行算法,写一个单机多线程程序,争取达到线性加速比(以 CPU 核数计)。再设法将算法扩展到多机并行。

3. 用 10 台 8 核的机器(一共 80 个 CPU cores),求解 19-皇后和 20-皇后问题,看看分别需要多少运行时间。你的方案能否平滑扩展到更多的机器?

*4. (附加题)如果这 10 台机器的型号不一,有 8 核也有 16 核,有旧 CPU也有更快的新 CPU,你该采用何种负载均衡策略,以求缩短求解问题的时间(至少比 plain round-robin 算法要好)?

其他内容,详见以下文章:

http://fpcfjf.blog.163.com/blog/static/55469793201681811258259/

(转载)陈硕对新的人建议

要做的题目-要用到hadoop资源的更多相关文章

  1. php实现不用加减乘除号做加法(1、善于寻找资源:去搜为什么位运算可以实现加法,里面讲的肯定要详细一万倍)

    php实现不用加减乘除号做加法(1.善于寻找资源:去搜为什么位运算可以实现加法,里面讲的肯定要详细一万倍) 一.总结 1.善于寻找资源:去搜为什么位运算可以实现加法,里面讲的肯定要详细一万倍 二.ph ...

  2. 最近几道hihocode不会做的题目

    几个易错点 1.数据范围一定要开大,一般多开10个或者5个. 2. 从经常写 int a[n], 然后访问a[n], 这显然会下标越界. 3. 浮点数,无法精确的比较,等于,大于,小于, 都需要使用e ...

  3. 几道leetcode不会做的题目

    1.set没有back()函数,今天想到用这个,才发现没有. 2. tuple的initialize_list construct好像不能使用,其实之前没使用过tuple,都是pair,复杂一点的自己 ...

  4. hihocoder #1039 : 字符消除 ( 字符串处理类 ) 好久之前做的题目,具体的算法代码中阅读吧

    #1039 : 字符消除 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在玩一个字符消除游戏.给定一个只包含大写字母"ABC"的字符串s,消 ...

  5. Python练习题中做错题目

    1,一下代码执行的结果为 a = b = "julyedu.com" a = 'AI 教育' print(b) 答案: julyedu.com 要点: 在python中, 不可变对 ...

  6. 利用yarn多队列实现hadoop资源隔离

    大数据处理离不开hadoop集群的部署和管理,对于本来硬件资源就不多的创业团队来说,做好资源的共享和隔离是很有必要的,毕竟不像BAT那么豪,那么怎么样能把有限的节点同时分享给多组用户使用而且互不影响呢 ...

  7. iOS之在写一个iOS应用之前必须做的7件事(附相关资源)

    本文由CocoaChina--不再犹豫(tao200610704@126.com)翻译 作者:@NIkant Vohra 原文:7 Things you must absolutely do befo ...

  8. 【转】在写一个iOS应用之前必须做的7件事(附相关资源)

    转自:http://www.cocoachina.com/ios/20160316/15687.html 本文由CocoaChina--不再犹豫(tao200610704@126.com)翻译 作者: ...

  9. 在写一个iOS应用之前必须做的7件事(附相关资源)

    本文由CocoaChina--不再犹豫(tao200610704@126.com)翻译 作者:@NIkant Vohra 原文:7 Things you must absolutely do befo ...

随机推荐

  1. day1 python简介和入门

    Linux的yum依赖自带Python,为防止错误,此处更新其实就是再安装一个Python: 安装Python 1.下载安装包     https://www.python.org/downloads ...

  2. 获取 web 项目的绝对路径

    获取 web 项目的绝对路径 <% String path = request.getContextPath(); String basePath = request.getScheme()+& ...

  3. PHP学习笔记(一)数组

    初始化数组的方法:统一初始化或逐项初始化. 遍历数组的方法: 1.FOR循环 2.DO...WHILE语句 3.WHILE语句 4.foreach foreach($arr as $key=>$ ...

  4. struts2的action编写

    例 HelloWorld.jsp <% @ page contentType = "text/html; charset=UTF-8 " %> <% @ tagl ...

  5. hdu 1114 dp动规 Piggy-Bank

    Piggy-Bank Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit S ...

  6. C和指针之学习笔记(1)

    第1章 1.输入字符串 while((ch=getchar())!=EOF  &&  ch!=’\n’) ; ch=getchar() while(ch!=EOF  && ...

  7. 「SCOI2016」美味

    「SCOI2016」美味 题目描述 一家餐厅有 \(n\) 道菜,编号 \(1 \ldots n\) ,大家对第 \(i\) 道菜的评价值为 \(a_i \:( 1 \leq i \leq n )\) ...

  8. luoguP4366 [Code+#4]最短路 最短路

    好久没写过博客了.... 本题还是挺有趣的(很水的最短路) 关键在于怎么优化这$n^2$条连边 通常,我们希望用一些边来替代一条边从而减小边集 那么,注意到异或操作可以拆分成按位运算,因此我们只需考虑 ...

  9. PHP链接sqlserver出现中文乱码

    PHP通过dblib扩展链接sqlserver,使用的是freetds,出现中文乱码. 在freetds的配置文件中(/usr/local/freetds/etc/freetds.conf),[glo ...

  10. 在centos6.0上通过nginx远程执行shell

    nginx本身不支持直接调用shell脚本,我们可以通过安装fastcgi程序,让nginx把调用shell的http请求交给fastcgi程序去处理,然后nginx 再将结果返回给用户方式间接调用s ...