【求助】新手询问多核开发基本问题!

linjiework 2011-05-30 02:48:16
看了很多关于多核开发的资料,都没讲是物理多核(即有多个物理上的 CPU)还是逻辑多核(即只有一个物理CPU,但该CPU 是多核的)。是不是这两者在软件开发上是一样的,没有区别?

我看到关于多核开发都是讲多线程问题,难道说多进程的程序就不存在多核开发的问题?还是多进程的程序调度由操作系统完成了,无需开发者关心?

我现在需要在 Red Hat Linux 系统下,使用多个多核CPU 开发一套程序用来接收和存储数据,系统采用两个 Red Hat Linux 服务器做冗余(即双机热备)。开发语言为 C 语言(注意:不是 C++),那么在程序上应该如何开发,需要使用哪些开发包?使用多线程和多进程开发这样的系统有什么区别?


我是新手,请大家多多指点。如果有些问题不好讲清楚,给个参考链接也行,谢谢!



...全文
107 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
linjiework 2011-06-07
  • 打赏
  • 举报
回复
谢谢大家,结分了。
intel_iclifort 2011-06-03
  • 打赏
  • 举报
回复
针对硬件层面的多处理器和多核CPU进行优化,这些工作应该由操作系统,或者是你使用的多线程库完成(比如OpenMP,TBB,Cilk Plus)。

但是应用层面针对并行的优化,也是必须考虑的。比如负载是否均衡,是否有不合理的开销过大的锁,数据并行,还是任务并行,使用何种并行手段,代码的跨平台移植性,等等

linjiework 2011-06-03
  • 打赏
  • 举报
回复
还有人能做解答吗?谢谢!
linjiework 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhoujk 的回复:]
多个物理上的 CPU 和一个多核 CPU 的区别是它们共享的程度不一样,多个CPU的共享是在内存进行的,多核CPU的共享是在缓存上进行的。这种区域对普通开发者而言区别不大。如果不是写特别底层的代码,如主板驱动,可以不管这个内容。
多进程的程序调度由操作系统完成了,无需开发者关
上述只是Win系统中的概念,没完过 Linux
[/Quote]


学习了,十分感谢!
zhoujk 2011-05-31
  • 打赏
  • 举报
回复
多个物理上的 CPU 和一个多核 CPU 的区别是它们共享的程度不一样,多个CPU的共享是在内存进行的,多核CPU的共享是在缓存上进行的。这种区域对普通开发者而言区别不大。如果不是写特别底层的代码,如主板驱动,可以不管这个内容。
多进程的程序调度由操作系统完成了,无需开发者关
上述只是Win系统中的概念,没完过 Linux
linjiework 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fox93073906 的回复:]
我只知道使用pthread库,这个库不是glib库里自带的
[/Quote]


谢谢!

我知道线程和进程的开发方法,重点关心的是开发过程中是否需要对多处理器和多核CPU进行优化。

代码熟练工 2011-05-30
  • 打赏
  • 举报
回复
我只知道使用pthread库,这个库不是glib库里自带的
  在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。 《算法导论(原书第3版)》选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在it专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。    第3版的主要变化:    新增了van emde boas树和多线程算法,并且将矩阵基础移至附录。    修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。    移除两章很少讲授的内容:二项堆和排序网络。    修订了动态规划和贪心算法相关内容。    流网络相关材料现在基于边上的全部流。    由于关于矩阵基础和strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。    修改了对knuth-morris-pratt字符串匹配算法的讨论。    新增100道练习和28道思考题,还更新并补充了参考文献。

566

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧