Gábor Horváth - Code Generation in Serializers and Comparators of Apache Flink
Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set...
Transcript of Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set...
![Page 1: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/1.jpg)
Skyway:Connecting Managed Heaps
in Distributed Big Data Systems
Khanh Nguyen, Lu Fang, Christian Navasca,Harry Xu, Brian Demsky
University of ChicagoUniversity of California, IrvineShan Lu
![Page 2: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/2.jpg)
2
![Page 3: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/3.jpg)
2
![Page 4: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/4.jpg)
2
![Page 5: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/5.jpg)
3
![Page 6: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/6.jpg)
3
JVMMR,
Spark Apps
![Page 7: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/7.jpg)
3
JVMMR,
Spark Apps
![Page 8: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/8.jpg)
3
JVMMR,
Spark Apps
![Page 9: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/9.jpg)
3
![Page 10: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/10.jpg)
3
![Page 11: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/11.jpg)
3
![Page 12: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/12.jpg)
3
![Page 13: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/13.jpg)
4
![Page 14: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/14.jpg)
4
![Page 15: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/15.jpg)
4
![Page 16: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/16.jpg)
4
outDataset
![Page 17: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/17.jpg)
4
OutputStream out = Shuffler.GetOutputStream(receiver_id);
for (Object o: outDataset) {out.writeObject(o);
}
serialization
outDataset
![Page 18: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/18.jpg)
4
OutputStream out = Shuffler.GetOutputStream(receiver_id);
for (Object o: outDataset) {out.writeObject(o);
}
serialization
outDataset
![Page 19: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/19.jpg)
4
InputStream in = Shuffler.GetInputStream(sender_id);
while (in.hasData()) {Object o = in.readObject();inDataset.store(o)
} deserialization
![Page 20: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/20.jpg)
4
InputStream in = Shuffler.GetInputStream(sender_id);
while (in.hasData()) {Object o = in.readObject();inDataset.store(o)
} deserialization
inDataset
![Page 21: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/21.jpg)
Tim
e (s
ec)
Serializers0
350
700
1050
1400
1750
Data transfer costs
5TriangleCounting over LiveJournal on Spark 2.1.0 with 3 slaves
![Page 22: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/22.jpg)
Tim
e (s
ec)
Serializers0
350
700
1050
1400
1750
Data transfer costs
5TriangleCounting over LiveJournal on Spark 2.1.0 with 3 slaves
14%18%
17%
16%
![Page 23: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/23.jpg)
Data transfer
6
Receiver
Object
Sender
![Page 24: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/24.jpg)
Data transfer
6
Receiver
Serialization
Object
Sender
![Page 25: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/25.jpg)
Data transfer
6
Receiver
Serialization
Object
Reflection.getField
Sender
![Page 26: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/26.jpg)
Data transfer
6
Receiver
Serialization
Object
Reflection.getField
Sender
![Page 27: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/27.jpg)
Data transfer
6
Receiver
Serialization
Object
Reflection.getField
Sender
![Page 28: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/28.jpg)
Data transfer
6
Receiver
Serialization
Object
Binary
Reflection.getField
Sender
![Page 29: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/29.jpg)
Network
Data transfer
6
Receiver
Serialization
Object
Binary
Reflection.getField
Sender
![Page 30: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/30.jpg)
Network
Data transfer
6
Receiver
Object
Binary
Sender
![Page 31: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/31.jpg)
Data transfer
6
Receiver
Deserialization
Object
Binary
Sender
![Page 32: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/32.jpg)
Data transfer
6
Receiver
Deserialization
Object
Binary
Reflection.setField
Reflection.allocate
Sender
![Page 33: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/33.jpg)
Data transfer
6
Receiver
Deserialization
Object
Binary
Reflection.setField
Reflection.allocate
Sender
![Page 34: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/34.jpg)
Data transfer
6
Receiver
Deserialization
Object
Binary
Reflection.setField
Reflection.allocate
Sender
![Page 35: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/35.jpg)
Data transfer
7
Receiver
Reflection.getField
Reflection.setField
Reflection.allocate
Sender
![Page 36: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/36.jpg)
Data transfer
7
ReceiverSender
![Page 37: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/37.jpg)
8
![Page 38: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/38.jpg)
8
![Page 39: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/39.jpg)
8
![Page 40: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/40.jpg)
8
![Page 41: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/41.jpg)
8
![Page 42: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/42.jpg)
8
![Page 43: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/43.jpg)
Our solution
9
![Page 44: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/44.jpg)
Our solution
9
ReceiverSender
![Page 45: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/45.jpg)
Our solution
9
Object
ReceiverSender
![Page 46: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/46.jpg)
Our solution
9
Object
ReceiverSender
Skyway
![Page 47: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/47.jpg)
Our solution
9
Object
Reflection.getField
Reflection.setField
Reflection.allocate
ReceiverSender
Skyway
![Page 48: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/48.jpg)
Our solution
9
Object
Reflection.getField
Reflection.setField
Reflection.allocate
ReceiverSender
Skyway
![Page 49: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/49.jpg)
Our solution
9
Object
Reflection.getField
Reflection.setField
Reflection.allocate
ReceiverSender
Skyway
![Page 50: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/50.jpg)
Skyway Overview
10
![Page 51: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/51.jpg)
Skyway Overview
– Implemented in OpenJDK 8• Modified the class loader, the object/heap layout,
the Parallel Scavenge GC– Efficiently handle data transfer:
• Outperforms 90 serializers• Improves Spark by 36% (Java) - 16% (Kryo)• Improves Flink by 19%
10
![Page 52: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/52.jpg)
Challenges
11
![Page 53: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/53.jpg)
Challenges
1. Type representation
11
![Page 54: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/54.jpg)
Challenges
1. Type representation Automated global type numbering
11
![Page 55: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/55.jpg)
Challenges
1. Type representation Automated global type numbering
2. Pointer representation
11
![Page 56: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/56.jpg)
Challenges
1. Type representation Automated global type numbering
2. Pointer representation Use relative offsets
11
![Page 57: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/57.jpg)
Challenges
1. Type representation Automated global type numbering
2. Pointer representation Use relative offsets
3. Local JVM adaptation
11
![Page 58: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/58.jpg)
Challenges
1. Type representation Automated global type numbering
2. Pointer representation Use relative offsets
3. Local JVM adaptation Visible for garbage collection
11
![Page 59: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/59.jpg)
Challenges
1. Type representation Automated global type numbering
2. Pointer representation Use relative offsets
3. Local JVM adaptation Visible for garbage collection
4. Work pipelining
11
![Page 60: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/60.jpg)
Challenges
1. Type representation Automated global type numbering
2. Pointer representation Use relative offsets
3. Local JVM adaptation Visible for garbage collection
4. Work pipelining Buffering
11
![Page 61: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/61.jpg)
Type registries
12
Metadata Object
Worker A
TypeString ID12
“java. lang.Object”“org.apache.spark.
rdd.RDD”“java. lang.String” 5
Type Registry A
klass for “java.lang.Object”
klass for “java.lang.String”
Worker B
TypeString ID15
“java. lang.Object”“java. lang.String”
120
Type Registry B
klass for “org.apache.spark.scheduler.Task”
klass for “java.lang.Object”
“org.apache.spark.scheduler.Task”
TypeString ID12
4
“java. lang.Object”“org.apache.spark.
rdd.RDD”“java.util.HashMap”
...
3“java.util.HashSet”“java. lang.String” 5
...“org.apache.spark.
scheduler.Task” 120
Type Registry
Cluster
klass for “org.apache.spark.rdd.RDD”
Metadata Object
klass for “java.lang.String”
Master
![Page 62: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/62.jpg)
Output & Input buffer
13
![Page 63: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/63.jpg)
Output & Input buffer
13
Output buffer
![Page 64: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/64.jpg)
Output & Input buffer
13
Output buffer
![Page 65: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/65.jpg)
Output & Input buffer
13
Output buffer
•Segregated by receivers•One for each receiver
![Page 66: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/66.jpg)
Output & Input buffer
13
Output buffer
•Segregated by receivers•One for each receiver•In native, off-the-heap memory
![Page 67: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/67.jpg)
Output & Input buffer
13
Output bufferInput buffer
•Segregated by receivers•One for each receiver•In native, off-the-heap memory
![Page 68: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/68.jpg)
Output & Input buffer
13
Output bufferInput buffer
•Segregated by receivers•One for each receiver•In native, off-the-heap memory
![Page 69: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/69.jpg)
Output & Input buffer
13
Output bufferInput buffer
•Segregated by receivers•One for each receiver•In native, off-the-heap memory
•Segregated by senders•Multiple for each sender
![Page 70: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/70.jpg)
Output & Input buffer
13
Output bufferInput buffer
•Segregated by receivers•One for each receiver•In native, off-the-heap memory
•Segregated by senders•Multiple for each sender•In managed heap
![Page 71: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/71.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
![Page 72: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/72.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
writeObject()
![Page 73: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/73.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
writeObject()
![Page 74: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/74.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
Output bufferin native memory
writeObject()
![Page 75: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/75.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
0Offset
Output bufferin native memory
writeObject()
![Page 76: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/76.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
0Offset
Output bufferin native memory
writeObject()
![Page 77: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/77.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
0Offset
Output bufferin native memory
“java.lang.Integer” 6“[java.lang.Integer” 7
TypeString ID
writeObject()
![Page 78: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/78.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
0xbb 0xcc0xaa37
0Offset
Output bufferin native memory
“java.lang.Integer” 6“[java.lang.Integer” 7
TypeString ID
writeObject()
![Page 79: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/79.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
0xbb 0xcc0xaa37
0Offset
Output bufferin native memory
“java.lang.Integer” 6“[java.lang.Integer” 7
TypeString ID
writeObject()
![Page 80: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/80.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
0xbb 0xcc0xaa37
0Offset
Output bufferin native memory
“java.lang.Integer” 6“[java.lang.Integer” 7
TypeString ID
7
writeObject()
![Page 81: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/81.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
0xbb 0xcc0xaa37 106
0Offset
Output bufferin native memory
“java.lang.Integer” 6“[java.lang.Integer” 7
TypeString ID
7
writeObject()
![Page 82: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/82.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
0xbb 0xcc0xaa37 106
0Offset
Output bufferin native memory
7
“java.lang.Integer” 6“[java.lang.Integer” 7
TypeString ID
7
writeObject()
![Page 83: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/83.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
0xbb 0xcc0xaa37 106 206
0 11Offset
Output bufferin native memory
7 11
“java.lang.Integer” 6“[java.lang.Integer” 7
TypeString ID
7
writeObject()
![Page 84: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/84.jpg)
Example: Serialization
14
Integer[] 0xbb 0xcc0xaa3
Integer 20 Integer 30Integer 10
0xbb 0xcc0xaa37 106 206 306
0 11 15Offset
Output bufferin native memory
7 11 15
“java.lang.Integer” 6“[java.lang.Integer” 7
TypeString ID
7
writeObject()
![Page 85: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/85.jpg)
Example: Deserialization
15
0 7 11 15
0xfb 0xff 20 300xf7 103
Offset
7 6 6 611 157
11 15737 10 20 306 6 6
![Page 86: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/86.jpg)
Example: Deserialization
15
0 7 11 15
0xfb 0xff 20 300xf7 103
Offset
7 6 6 611 157
11 15737 10 20 306 6 6
readObject()
![Page 87: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/87.jpg)
Example: Deserialization
15
0 7 11 15
0xfb 0xff 20 300xf7 103
Offset
7 6 6 611 157
Input buffer in heap
readObject()
![Page 88: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/88.jpg)
Example: Deserialization
15
0 7 11 15
0xfb 0xff 20 300xf7 103
Offset
7 6 6 611 157
Input buffer in heap
java.lang.Integer6java.lang.Integer[]7
MetadataObjectID
readObject()
![Page 89: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/89.jpg)
Example: Deserialization
15
0 7 11 15
0xfb 0xff 20 300xf7 10Integer[] 3
Offset
6 6 611 157
Input buffer in heap
java.lang.Integer6java.lang.Integer[]7
MetadataObjectID
readObject()
![Page 90: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/90.jpg)
Example: Deserialization
15
0 7 11 15
0xfb 0xff 20 300xf7 10Integer[] 3
Offset
6 6 611 15
Input buffer in heap
java.lang.Integer6java.lang.Integer[]7
MetadataObjectID
readObject()
![Page 91: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/91.jpg)
Example: Deserialization
15
0 7 11 15
0xfb 0xff 20 300xf7 10Integer[] 3
Offset
6 6 615
Input buffer in heap
java.lang.Integer6java.lang.Integer[]7
MetadataObjectID
readObject()
![Page 92: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/92.jpg)
Example: Deserialization
15
0 7 11 15
0xfb 0xff 20 300xf7 10Integer[] 3
Offset
6 6 6
Input buffer in heap
java.lang.Integer6java.lang.Integer[]7
MetadataObjectID
readObject()
![Page 93: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/93.jpg)
Example: Deserialization
15
0 7 11 15
0xfb 0xff 20 300xf7 10Integer[] 3 Integer
Offset
6 6
Input buffer in heap
java.lang.Integer6java.lang.Integer[]7
MetadataObjectID
readObject()
![Page 94: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/94.jpg)
Example: Deserialization
15
0 7 11 15
0xfb 0xff 20 300xf7 10Integer[] 3 IntegerInteger
Offset
6
Input buffer in heap
java.lang.Integer6java.lang.Integer[]7
MetadataObjectID
readObject()
![Page 95: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/95.jpg)
Example: Deserialization
15
0 7 11 15
0xfb 0xff 20 300xf7 10Integer[] 3 IntegerIntegerInteger
Offset
Input buffer in heap
java.lang.Integer6java.lang.Integer[]7
MetadataObjectID
readObject()
![Page 96: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/96.jpg)
In the paper
• Cyclic references• Shared objects• Support for threads• Interaction with GC• Integrating Skyway in real systems
16
![Page 97: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/97.jpg)
Evaluations - Microbenchmark
17
• Java Serializer Benchmark Set– Extensive performance evaluation with
existing 90 serializers
![Page 98: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/98.jpg)
18
SKYWAY
![Page 99: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/99.jpg)
18
1.8x
SKYWAY
GOOGLE’s Protobuf
![Page 100: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/100.jpg)
18
1.8x
2.2x
SKYWAY
GOOGLE’s Protobuf
Kryo(rec. by Spark)
![Page 101: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/101.jpg)
Evaluations – Real Systems
19
• Flink 1.3.2– 5 query answering applications– TPC-H datasets
![Page 102: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/102.jpg)
Evaluations – Real Systems
19
• Flink 1.3.2– 5 query answering applications– TPC-H datasets
![Page 103: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/103.jpg)
Evaluations – Real Systems
19
• Flink 1.3.2– 5 query answering applications– TPC-H datasets
On average, reduces end-to-end time by 19%
![Page 104: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/104.jpg)
0
0.2
0.4
0.6
0.8
1
1.2
Improvement Summary: Flink
20Execution TimeSer. Time Deser. Time
Norm
alize
d Pe
rform
ance
to b
uilt-
in se
rializ
er
![Page 105: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/105.jpg)
0
0.2
0.4
0.6
0.8
1
1.2
Improvement Summary: Flink
20Execution TimeSer. Time Deser. Time
Norm
alize
d Pe
rform
ance
to b
uilt-
in se
rializ
er
![Page 106: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/106.jpg)
0
0.2
0.4
0.6
0.8
1
1.2
Improvement Summary: Flink
20Execution TimeSer. Time Deser. Time
Norm
alize
d Pe
rform
ance
to b
uilt-
in se
rializ
er
![Page 107: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/107.jpg)
0
0.2
0.4
0.6
0.8
1
1.2
Improvement Summary: Flink
20Execution TimeSer. Time Deser. Time
Norm
alize
d Pe
rform
ance
to b
uilt-
in se
rializ
er
![Page 108: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/108.jpg)
Evaluations – Real Systems
21
• Spark 2.1.0– 4 applications: WordCount, PageRank,
ConnectedComponents, and TriangleCounting
– 4 datasets:LiveJournal, Orkut, UK-2005, and Twitter
![Page 109: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/109.jpg)
Evaluations – Real Systems
21
• Spark 2.1.0– 4 applications: WordCount, PageRank,
ConnectedComponents, and TriangleCounting
– 4 datasets:LiveJournal, Orkut, UK-2005, and Twitter
On average, reduces end-to-end time by 16% (w.r.t. Kryo)
by 36% (w.r.t. Java serializer)
![Page 110: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/110.jpg)
Kryo Skyway0
0.2
0.4
0.6
0.8
1
1.2
1.4
Kryo Skyway Kryo Skyway
Improvement Summary: Spark
22
Norm
alize
d Pe
rform
ance
to
Java
Ser
ialize
r
Execution TimeSer. Time Deser. Time
![Page 111: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/111.jpg)
Kryo Skyway0
0.2
0.4
0.6
0.8
1
1.2
1.4
Kryo Skyway Kryo Skyway
Improvement Summary: Spark
22
Norm
alize
d Pe
rform
ance
to
Java
Ser
ialize
r
Execution TimeSer. Time Deser. Time
![Page 112: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/112.jpg)
Kryo Skyway0
0.2
0.4
0.6
0.8
1
1.2
1.4
Kryo Skyway Kryo Skyway
Improvement Summary: Spark
22
Norm
alize
d Pe
rform
ance
to
Java
Ser
ialize
r
Execution TimeSer. Time Deser. Time
![Page 113: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/113.jpg)
Kryo Skyway0
0.2
0.4
0.6
0.8
1
1.2
1.4
Kryo Skyway Kryo Skyway
Improvement Summary: Spark
22
Norm
alize
d Pe
rform
ance
to
Java
Ser
ialize
r
Execution TimeSer. Time Deser. Time
![Page 114: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/114.jpg)
Kryo Skyway0
0.2
0.4
0.6
0.8
1
1.2
1.4
Kryo Skyway Kryo Skyway
Improvement Summary: Spark
22
Norm
alize
d Pe
rform
ance
to
Java
Ser
ialize
r
Execution TimeSer. Time Deser. Time
![Page 115: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/115.jpg)
Kryo Skyway0
0.2
0.4
0.6
0.8
1
1.2
1.4
Kryo Skyway Kryo Skyway
Improvement Summary: Spark
22
Norm
alize
d Pe
rform
ance
to
Java
Ser
ialize
r
Execution TimeSer. Time Deser. Time
![Page 116: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/116.jpg)
Conclusion• Goal: Reduce data transfer costs in
Big Data systems
• Solution: Skyway, the first JVM-based serializer– Efficiently transfer data– Easy to integrate
23
![Page 117: Skyway: Connecting Managed Heaps in Distributed Big Data ... · •Java Serializer Benchmark Set – Extensive performance evaluation with existing 90 serializers. 18 SKYWAY. 18 1.8x](https://reader034.fdocuments.us/reader034/viewer/2022051908/5ffb54eb6d306a61eb683718/html5/thumbnails/117.jpg)
Thank You!
24