最新文章列表

JAVA并行异步编程线程池+FutureTask

  java 在JDK1.5中引入一个新的并发包java.util.concurrent 该包专门为java处理并发而书写。 在java中熟悉的使用多线程的方式为两种?继续Thread类,实现Runnale。两种方式简单方便。 在Jdk1.5之后其实有第三种方式实现方式,采用并发包中的Callable接口 FuruteTask类 以及ExecutorService接口。   说新的实现 ...
247687009 评论(0) 有7269人浏览 2014-06-20 17:53

Ubuntu下hadoop的安装与配置

Ubuntu下hadoop的安装与配置   版本:Ubuntu13.10 -64bit, hadoop1.0.4          由于数据库课程作业的需要,最近在Ubuntu下配置了hadoop环境,在此作一下记录。        首先要了解一下,hadoop是Apache基金会开发的一个分布式系统基础架构,通过它可以方便高效地对大数据进行处理。hadoop有两种运行模式:     ...
Marshal_R 评论(0) 有1428人浏览 2014-06-01 15:27

MPI和map-reduce区别

        mpi对于分布式文件存储(数据密集型、非计算密集型)支持较少,它适用于计算密集型,另外对于类似于hadoop的datanode、tasknode来讲,同一个工作站既做计算(task),又做存储(data),而且优先处理本地的数据,这样的设计比较优雅
daniel0202 评论(0) 有1063人浏览 2014-04-01 22:44

Java并行开发笔记7

设置线程池大小       要想正确地设置线程池的大小,必须分析计算环境、资源预算和任务的特性。在部署的系统中有多少个CPU?多大的内存?任务是计算密集型、I/O密集型还是二者皆可?它们是否需要像JDBC连接这样的稀缺资源?如果需要执行不同类别的任务,并且它们之间的行为相差很大,那么应该考虑使用多个线程池,从而使每个线程池可以根据各自的工作负载来调整。     对于计算密集型的任务,在拥有 ...
sunhuaer123 评论(0) 有484人浏览 2014-03-10 21:00

Java并行开发笔记6.2

shutdownNow的局限性   shutdownNow是强行关闭ExecutorService的,它会尝试取消正在执行的任务,并返回所以已提交但尚未开始的任务,但是我们无法通过常规方法来找出哪些任务已经开始但尚未结束。这意味着我们无法在关闭过程中知道正在执行的任务的状态,除非任务本身会执行某种检查。为此,设计了一个TrackingExecutor类跟踪在关闭之后被取消的任务,getCanc ...
sunhuaer123 评论(0) 有668人浏览 2014-03-09 11:39

Java并行开发笔记6

对于持有线程的服务,只要服务的存在时间大于创建线程的方法的存在时间,那么就应该提供生命周期方法。     在下面的程序中给出了一个简单的日志服务示例,其中日志操作在单独的日志线程中执行。产生日志消息的线程并不会将消息直接写入输出流,而是由LogWriter通过BlockingQueue将消息提交给日志线程,并由日志线程写入。这是一种多生产者单消费者(Multiple-Producer,Si ...
sunhuaer123 评论(0) 有461人浏览 2014-03-09 09:38

Java并行开发笔记1

 加锁机制既可以确保可见性又可以确保原子性,而volatile变量只能确保可见性。   当前仅当满足一下所有条件时,才应该使用volatile变量: 对变量的写入操作不依赖变量的当前值,或者你能确保只有单个线程更新变量的值。 该变量不会与其他状态变量一起纳入不变性条件中。 在访问变量时不需要加锁。 线程封闭:当访问共享的可变数据时,通常需要使用同步。一种避免使用同步的方式就是不 ...
sunhuaer123 评论(0) 有613人浏览 2014-03-01 16:10

Hadoop中小规模集群的并行计算缺陷

注:写这篇文章的初衷是因为Hadoop炒得有点太热,很多用户现有数据规模并不适用于Hadoop,但迫于扩容压力和去IOE(Hadoop的廉价扩展的确非常有吸引力) ...
datamachine 评论(0) 有1297人浏览 2013-11-07 08:15

如何设计一个实时流计算系统

实时流计算的场景归纳起来多半是: 业务系统根据实时的操作,不断生成事件(消息/调用),然后引起一系列的处理分析,这个过程是分散在多台计算机上并行完成的,看上去就像事件连续不断的流经多个计算节点处理,形成一个实时流计算系统。 市场上流计算产品有很多,主要是通过消息中枢结合工人模式实现,大致过程如下: 1、开发者实现好流程输入输出节点逻辑,上传job到任务生产者 2、任务生产者将任务发送到zoo ...
fourinone 评论(6) 有4865人浏览 2013-08-11 11:56

多线程分解串行工作

场景:    LIST页面,商品由A和B商品组成,A和B商品分别在不同的search,需要调用两次请求组装后返回渲染。     优点:路径简单,程序实现容易 缺点:无法发挥机器多核并行潜力       并行请求:     设计思路: 互相不依赖的串行调用切割成多个单独方法。 利用线程池并行计算,用ExecutorService实现 全部线程运行完毕组装结果返回,用Co ...
锅巴49 评论(0) 有1185人浏览 2013-05-02 15:43

3月14日圆周率日—使用并行计算求圆周率π

关于圆周率大家再熟悉不过了: 我们从课本上学习到早在一千多年前,祖冲之将圆周率计算到3.1415926到3.1415927之间…计算机诞生后,计算圆周率被用来 ...
fourinone 评论(1) 有5962人浏览 2013-03-14 15:09

计算过程中的故障和容灾处理

使用Fourinone可以完成大部分分布式并行计算需求, 但是计算过程中的故障和容灾处理是怎么进行的呢, 这里详细分析一下: 总的来说,Fourinone框架不会在设计中抛弃错误不处理或者容忍错误导致框架崩溃,框架通常会捕获所有的错误反馈给开发者去处理,但是框架本身不自作主张,替开发者考虑处理方案,只有这样框架才能从特定场景中抽象出来,给开发者更灵活的发挥和去满足各种更复杂业务容错情况。 那么框 ...
fourinone 评论(0) 有2378人浏览 2013-03-04 13:29

使用并行计算大幅提升递归算法效率

前言: 无论什么样的并行计算方式,其终极目的都是为了有效利用多机多核的计算能力,并能灵活满足各种需求。相对于传统基于单机编写的运行程序,如果使用该方式改写为多机并行程序,能够充分利用多机多核cpu的资源,使得运行效率得到大幅度提升,那么这是一个好的靠谱的并行计算方式,反之,又难使用又难直接看出并行计算优势,还要耗费大量学习成本,那就不是一个好的方式。 由于并行计算在互联网应用的业务场景都比较复杂, ...
fourinone 评论(1) 有7767人浏览 2012-12-19 10:28

大数据机遇和挑战

本ppt完整介绍了大数据的背景、机遇和挑战,并且相关的落地技术和业界状况,为大数据的研究提供全面的参考
fourinone 评论(0) 有1646人浏览 2012-10-09 10:32

淘宝校招鸡蛋篮子算法题标准答案

又到一年校招时,阿里集团虽然今年休养生息,缩紧招聘,但是现在继续开放校招,不过只招a类学生,也就是重点学校的最优学生(面试官认为),以往多半是研究 ...
fourinone 评论(3) 有2530人浏览 2012-09-24 10:40

分布式计算多机部署与配置

在分布式计算上手demo,分布式计算sayhello,分布式计算完整demo中, 对于工人(worker)、工头(ctor),parkserver在多台计算机上的部署和配置: 每台计算机放 ...
fourinone 评论(3) 有3408人浏览 2012-07-19 18:21

并行计算框架的Java实现--系列一

最近的工作需要统计一些复杂的报表,为了提高效率,想用多线程去实现,但要在所有线程完成统计任务后,将结果汇总。所以在思考有没有什么办法解决,之所以是“系列一”是因为我想记录下我的思考过程。 1、首先设计一个Executer,负责任务的执行和汇总: public class Executer { //计算已经派发的任务数(条件谓词) public static int THREAD_COUN ...
378629846 评论(3) 有3496人浏览 2012-07-14 07:38

充分利用多核优势,高效并行渲染页面--改造nutz使其成为支持并行计算的MVC框架

首先我们来看一个场景:          此图为sohu 首页的一部分。 这个页面比较典型,其实只要是复杂一些的页面通常都由许多不同模块的数据内容组成。如该页面就包含了新闻、体育、娱乐、视频等内容。每一个模块都需要单独查询,然后将结果填充到页面的各个部分。 如果由你来实现这个页面,你会怎么写呢? 通常,我们的写法是 (struts2.0): public String index ...
helloqiner 评论(1) 有2151人浏览 2012-07-04 15:19

分布式计算互相sayhello

假设你已经看过分布式计算上手demo指南,对fourinone基本的分布式并行计算方式有了初步了解。 本demo演示了工头和几个工人之间互相sayhello的简单例子,从而了解到集群计算节点之间互相交互,以及工头批量处理和工人互相传递数据(多用于合并)的功能。 HelloCtor:是一个工头实现,它实现giveTask接口,它首先通过getWaitingWorkers获取到一个线上工人的集合,然 ...
fourinone 评论(0) 有2620人浏览 2012-06-28 10:55

分布式计算自动部署

对于一个分布式计算的应用,如果不需要自动部署,将工头工人程序文件分别部署到相应机器运行即可,不需要过多配置。 fourinone2.0可以支持自动化class和jar包部署,class和jar包只需放在工头机器上, 各工人机器会自动获取并执行,兼容操作系统,不需要进行安全密钥复杂配置. 假设有一个分布式计算job,包括三个程序文件: JobCtor:包工头实现 JobWorker:农民工实现 J ...
fourinone 评论(0) 有2809人浏览 2012-06-26 17:43

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics