官术网_书友最值得收藏!

Compute Grid

Apache Ignite Compute Grid is a distributed in-memory MapReduce/ForkJoin or Splitter-Aggregator platform. It enables the parallel processing of data to reduce the overall processing time. You can offload your computational tasks onto multiple nodes to improve the overall performance of the system and make it scalable. Suppose you need to generate the monthly student dues of a class. This includes accommodation charges, electricity usage, internet bills, food and canteen dues, library fees, and so on. You can split the processing into multiple chunks; each task computes a student due and finally the parent job sums up the dues of all students. If we have 10 nodes/threads and 100 students, then we can do 10 parallel processing. 

Compute grid sends the tasks onto different worker nodes; each node performs a series of expansive calculations such as joining caches/tables using SQL queries. As a result, if we add more nodes the job will scale more. 

The following diagram explains the compute grid architecture. We have to calculate bills for M students and already have N Apache Ignite nodes. Provided M > N, we can split the job into M/N chunks (if M = 101 and N=10, then we will end up with 101/10=10 + 1= 11 chunks) and send each chunk to a worker node. Finally, we aggregate the M/N chunks and send the result back to the job. It will reduce the overall computational time by N * number of loops times:

Ignite compute grid supports distributed closure and SQL joins. We will cover them in Chapter 4, Exploring the Compute Grid and Query API.

主站蜘蛛池模板: 朝阳县| 淮阳县| 新丰县| 房山区| 平凉市| 大关县| 双牌县| 砀山县| 定州市| 德庆县| 汉中市| 驻马店市| 伊金霍洛旗| 浪卡子县| 封开县| 杭锦旗| 丰顺县| 桑日县| 塘沽区| 凤阳县| 重庆市| 搜索| 宜春市| 榆林市| 南郑县| 灌南县| 安乡县| 德保县| 靖西县| 平南县| 龙山县| 竹山县| 绍兴市| 铜鼓县| 石楼县| 公主岭市| 桐城市| 闽侯县| 四会市| 台州市| 潜江市|