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

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.

主站蜘蛛池模板: 贵港市| 民和| 黑龙江省| 望谟县| 微博| 泾川县| 合肥市| 彰化市| 揭阳市| 深州市| 德化县| 专栏| 祁阳县| 高要市| 偃师市| 梁平县| 五河县| 长寿区| 龙游县| 新巴尔虎右旗| 化德县| 威远县| 绥阳县| 白城市| 南安市| 乐至县| 邵东县| 上犹县| 庆安县| 通海县| 资兴市| 伊川县| 宣武区| 乐陵市| 镇远县| 博罗县| 枣庄市| 通化市| 丰台区| 宁南县| 临潭县|