最新 | 最热门 | 最高评价

+0  为什么我认为goroutine和channel是把别的平台上类库的功能内置在语言里

Tag: 技术尝鲜 | 并行处理 | 实践优化 | 语言编程
zhaojie 发于 2013年04月09日 21:52 | 点击: 2108 | 展开摘要
这几天看了《Go语言编程》这本书,感觉一般,具体可见这篇书评。书评里面我提到“Go语言的goroutine和channel其实是把别的语言/平台上类库的功能内置到语言里”,这句话当然单单这么说出来是没什么价值的,于是我也就趁热把它说得再详细一些。我的看法简而言之是:由goroutine和channel所带来的主要编程范式、设计思路等等,其实基本都可以在其他一些平台中配合特定的类库来实现。

我们知道,操作系统的最小调度单元是“线程”,要执行任何一段代码,都必须落实到“线程”上

查看全文: http://www.udpwork.com/item/9642.html

+0  多核与异步并行

Tag: 并行编程 | 多核 | 多线程编程 | 线程同步
Guancheng (G.C.) 发于 2013年01月21日 18:20 | 点击: 1263 | 展开摘要
原文发表于《程序员》杂志2012年第9期,文字略有修改。

我们在设计多线程程序时往往有很多性能指标,例如低延迟(latency),高吞吐量(throughput),高响应度(responsiveness)等。随着多核处理器上CPU核数的日益增加,如何高效地利用这些计算资源以满足这些设计目标变得越来越重要。这次向大家介绍的异步并行就是一种帮助实现低延迟、高吞吐量和高响应度的并行编程技术。

让我们先来看这样一个例子。在下面的程序中,我们有一个do_something()的AP

查看全文: http://www.udpwork.com/item/9409.html

+0  VPS、全局优化、Python、并行

Tag: 并行计算 | 数值计算 | 数学规划 | 网页开发
diaorui 发于 2013年01月19日 12:17 | 点击: 1156 | 展开摘要
说说最近的事,找不到一个合适的标题,就以若干关键字为题好了。

最近购买了一个VPS,新年特价,30刀一年,2G内存,续费仍然是30刀一年。对,你没看错,没有少写一个0

据说这家超售很严重,但是技术水平不错,不大看得出来。

有了VPS就可以继续肆无忌惮的挂网站、爬网页什么的了。实测CPU很给力,跑程序很快。但是毕竟是便宜货,刚入手两星期左右,今天差不多挂了10个小时才修复,看在价格上也就不说什么了。

科院选课助手 ishangke.net 目前已经迁移过去了。由于配置的

查看全文: http://www.udpwork.com/item/10650.html

+0  pi的一种并行算法

Tag: 算法 | 并行 | Python
youngsterxyf 发于 2012年11月22日 00:00 | 点击: 1098 | 展开摘要
我们都知道圆周率pi的值是3.141592653...,那么这个值是怎么算出来的呢?一种方式是通过某种方式算出圆的面积或者周长,然后根据公式$ S = pi \times r^2 $(或$ L = 2 \times pi \times r $)算出pi的值。但如何用计算机通过某种算法计算而得?有没有并行的算法?

Introduction to Parallel Programming and MapReduce一文中介绍了一种基于概率的并行算法---假设有个正方形,里面有个

查看全文: http://www.udpwork.com/item/11872.html

+0  讨论:一则并行聚合计算方案的设计

Tag: 并行处理
zhaojie 发于 2012年09月06日 07:31 | 点击: 2420 | 展开摘要
最近的工作让我想到了一个对集合的元素进行并行聚合的案例,尽管这个需求还不存在,但最近却一直在我的脑海里挥之不去,尚未得出令人满意的结果。今天下班前我将这个问题辛苦地缩减为140字内的描述发到了微博上,得到了许多同学的回复,但可能是由于描述过于简单,得到的建议似乎都不能满足我的需求。于是在此我通过博客详细描述下这个问题的需求,还有我之前做过的尝试,这样讨论起来也可以更加有针对性一些。

问题描述

现有一个集合,最多包含100K个元素。每个元素包含100个字段,为了简化问题假设

查看全文: http://www.udpwork.com/item/8063.html

+0  C++ AMP异构并行编程解析

Tag: 业界评论 | 并行编程 | 多核 | 异构并行编程
Guancheng (G.C.) 发于 2012年05月09日 21:05 | 点击: 2069 | 展开摘要
原文发表于《程序员》杂志2012年第4期,略有改动。

文 / 陈冠诚

微软在今年2月份的GoingNative大会上正式对外发布了C++ AMP(Accelerated Massive Parallelism)开放规范。C++ AMP是微软于11年6月推出的一个异构并行编程框架,从Visual Studio 11开发者预览版起,微软正式提供了C++AMP的支持。C++ AMP的目标是降低在由CPU和GPU共同组成的异构硬件平台上进行数据并行编程(data parallel

查看全文: http://www.udpwork.com/item/7260.html

+0  云计算时代的多核开发

Tag: 业界评论 | 并行编程 | Big Data | 互联网 | 多核 | 多线程编程
Guancheng (G.C.) 发于 2012年01月22日 01:24 | 点击: 2182 | 展开摘要
注:原文发表于《程序员》杂志2011年第12期,略有删改。

云计算和多核这两大趋势正对软件开发者产生重大影响。近几年,多核逐渐成为主流:随着提升CPU核心频率越来越难,处理器厂商选择了更加容易实现的多核方案来继续提升硬件的性能。进入后PC时代,移动处理器也同样面临着性能的提升与功耗的控制这两大挑战,为了满足提升性能与控制功耗的需求,多核也正成为其以后发展的方向。另一方面,云计算也渐渐成为软件开发的大势。在云计算的生态系统中最主要的设备是“端”和“云”。所谓端包括移动设备(智

查看全文: http://www.udpwork.com/item/6734.html

+4  X-RIME: 基于Hadoop的开源大规模社交网络分析工具

Tag: 并行编程 | 系统架构 | Big Data | hadoop | ibm | Open Source | Social Network Analytics | X-RIME | 互联网 | 社交网络
Guancheng (G.C.) 发于 2012年01月09日 09:44 | 点击: 3532 | 展开摘要
文 / 陈冠诚,史巨伟,杨博(IBM中国研究院),杨寅(人民搜索)

随着互联网的快速发展,涌现出了一大批以Facebook,Twitter,人人,微博等为代表的新型社交网站。这些网站用户数量的迅速增长使得海量的用户数据不断被产生出来,而如何有效地对这些海量的用户数据进行社交网络分析(Social Network Analysis)正成为一个越来越热门的问题。本文向大家介绍由IBM中国研究院和北京邮电大学合作开发的X-RIME开源库(http://xrime.sourcefo

查看全文: http://www.udpwork.com/item/6674.html

+1  并行编程中的“锁”难题

Tag: 并行编程 | 多核 | 多线程编程 | 死锁 | 线程同步 | 锁竞争
Guancheng (G.C.) 发于 2011年10月02日 10:11 | 点击: 2396 | 展开摘要
注:本文发表于《程序员》2011年第8期并行编程专栏,略有删改。

在并行程序中,锁的使用会主要会引发两类难题:一类是诸如死锁、活锁等引起的多线程Bug;另一类是由锁竞争引起的性能瓶颈。本文将介绍并行编程中因为锁引发的这两类难题及其解决方案。

1. 用锁来防止数据竞跑

在进行并行编程时,我们常常需要使用锁来保护共享变量,以防止多个线程同时对该变量进行更新时产生数据竞跑(Data Race)。所谓数据竞跑,是指当两个(或多个)线程同时对某个共享变量进行操作,且这些操作中至少

查看全文: http://www.udpwork.com/item/5988.html

+0  [已经招到了,谢谢大家!]IBM中国研究院招聘Hadoop实习生

Tag: 并行编程 | 职业生涯 | ibm | 实习
Guancheng (G.C.) 发于 2011年09月22日 11:07 | 点击: 2247 | 展开摘要
我们组最近有一个实习生的名额,做Hadoop性能优化相关的研究工作,如果大家感兴趣的话请给我发邮件:)

IBM Research China is looking for graduate computer science/engineering students who are interested in Hadoop performance optimizations works.

Location: Beijing

Job Tile: Research Inter

查看全文: http://www.udpwork.com/item/5939.html

+0  浅析C++多线程内存模型

Tag: 并行编程 | C++1x | 多核 | 多线程内存模型 | 多线程编程
Guancheng (G.C.) 发于 2011年08月27日 11:39 | 点击: 2278 | 展开摘要
注:本文发表于《程序员》2011年第6期并行编程专栏,略有删改。

在即将到来的C++1x标准中,一个重大的更新就是引入了C++多线程内存模型。本文的主要目的在于介绍C++多线程内存模型涉及到的一些原理和概念,以帮助大家理解C++多线程内存模型的作用和意义。

1. 顺序一致性模型(Sequential Consistency)

在介绍C++多线程模型之前,让我们先介绍一下最基本的顺序一致性模型。对多线程程序来说,最直观,最容易被理解的执行方式就是顺序一致性模型。顺序一致性

查看全文: http://www.udpwork.com/item/5706.html

+0  Facebook的Realtime Hadoop及其应用

Tag: 并行编程 | 系统架构 | facebook | hadoop | 分布式系统
Guancheng (G.C.) 发于 2011年07月17日 15:38 | 点击: 2364 | 展开摘要
在今年的SIGMOD‘11上,Facebook又发了一篇新paper(点此下载),讲述了它们在提高Hadoop实时性上的工作及其应用。简单来讲,他们的项目需求主要有:

1. Elasticity(伸缩性)

2. High write throughput(高写吞吐量)

3. Efficient and low-latency strong consistency semantics within a data center(单个data center内高性能、低延迟的强

查看全文: http://www.udpwork.com/item/5486.html
|<<<1234>>>| 一共4页, 42条记录