SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Hyojeong Lee
Distributed Computing System Laboratory
Department of Computer Science and Engineering
Seoul National University, Korea
Progress Report
● Swap-aware JVM GC policy
● Parallel logging
Table of Contents
● Motivation
● Necessity of swapping
● Performing memory-intensive workloads such as deep learning algorithm,
the size of generated data is large and unpredictable.
● Current GC policy is not aware of swapping.
● ParallelCompact, default GC policy of Java8 do not consider whether data
is swapped.
● Swap I/O by processing swapped data results in long GC time.
● For examples,
● SVD++ in Sparkbench (swap I/O & execution time)
Swap-aware JVM GC Policy
● Background
● Full GC process
i. Mark
ii. Summary
iii. Compact (sliding)
Swap-aware JVM GC Policy
Eden Sur0 Sur1 Old
Region
OldYoung
(cf) Full GC process
old
source_reg
dest_addr
live_size
…
512k
Bottom
Top End
142595
(cf) Full GC process - Marking_phase
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Bitmap 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1…...
(cf) Full GC process - Summary_phase
Traverse the whose space
to pick up regions might be
compacted
source_reg = cur
dest_addr = addr
live_size = own size
…
source_reg = k+i
dest_addr = x
live_size = 0
…
x
k
source_reg = 0
dest_addr = x + size*k
live_size = size
…
(cf) Full GC process - Summary_phase
Looking for the first region that
contains dead data = full_cp
Binary
search
full_cp
(cf) Full GC process - Summary_phase
Looking for the limited
region with specific size of
dead wood from full_cp
• Density = live_data / capacity
• Limited_dead_wood = Normal_distribution(density) * capacity
(cf) Full GC process - Summary_phase
full_cp limited_cp
Limited_dead_wood
(cf) Full GC process - Compact_phase (sliding)
best_cp (with Max reclaim-ration=dead-ration)
a.k.a: dense_prefix
Compact regions
(cf) Full GC process - Compact_phase (sliding)
Bottom Top End
Swap I/O occurs when…
dense_prefix
Swap space
● Definition
● What we all know,
● The default GC policy of Java8 does not take into account whether
data is swapped,
● Resulting in long GC time due to Swap I/O.
● As a result of analyzing codes,
● Parallel Compact GC goes through the process of
‘Mark → Summary → Compact’.
● Swap I/O occurs when copying swapped data while compacting.
Swap-aware JVM GC Policy
● Survey
● Effectively manage JVM heap to provide a way to handle big
data workloads
● Characterizing and optimizing hotspot parallel GC on multicore
systems, 2018, EuroSys: Work stealing technique
● Analysis and optimizations of java FGC, 2018, ISBN: Region
skipping technique
● How to handle swap overhead
● Relation-based ordering of objects in an object heap, 2002: Using
reference counter, objects with temporal locality can be placed in
the same cache line, minimizing overhead by swapping.
● As a result,
● information about swap is usually not directly used.
Swap-aware JVM GC Policy
● Features of workloads
● High Memory usage
● High Locality
(So, there is compaction for swapped data.)
● Target workload
● Simple java program for validation
● GraphChi
● Platform for large and complex graph operations
● Used frequently for evaluating throughput in studies suggesting
GC policy for memory-intensive workloads
● Deeplearning4j
● Platform for memory-intensive deep learning workloads
Swap-aware JVM GC Policy
● Our solutions (Compact w/ swap)
1. Kernel(page) level: Swap flag
● DONE. Whether data is swapped using pagemap (summary)
● DOING. Whether data is copied or skipped, based on swappiness
of region (compact)
● TODO. Large overhead for checking swappiness →
Inserting a data structure to keep swappiness in the kernel can
reduce the overhead.
Swap-aware JVM GC Policy
dense_prefix
Swap space
Swapped live data → Skip!
● Our solutions (Compact w/o swap)
Swap-aware JVM GC Policy
dense_prefix
Virtual (heap)
Physical (kernel)
Actually, no need to compact
→ Just remapping virtual space!
● Kernel(page) level: Swap flag - Attempt (1)
● Implementation
● Evaluation (w/ Simple java program)
● Simple java program
● Make swapped objects target for compaction
● Result
Swap-aware JVM GC Policy
dense_prefix
Swap space
Swapped live data → Skip!
● Contents
● Parallel logging in Database: Shore-MT
● Data structure as supporter (Grasshopper)
● DONE
● Baseline evaluation
● Implementation of parallel logging (2-thread enabled)
Parallel Logging (WAL)
● DOING
● Analyze source codes of target DB(Shore-MT) and make a
plan for Implementing Grasshopper
Parallel Logging (WAL)
● Swap-aware JVM GC policy
● ~ 01.25: Page level solution
● ~ 02.28: Kernel level solution
● Parallel logging
● ~ 01.25: Implement Grasshopper
● ~ 02.01: Evaluation & Optimization
● ~ 02.28: Parallel logging on Lustre file system
● Improve paper: An Efficient Journaling Mechanism in Lustre File
System for Fast Storage Devices
TODO

Weitere ähnliche Inhalte

Was ist angesagt?

Wms Performance Tests Map Server Vs Geo Server
Wms Performance Tests Map Server Vs Geo ServerWms Performance Tests Map Server Vs Geo Server
Wms Performance Tests Map Server Vs Geo Server
DonnyV
 
Mapserver vs Geoserver
Mapserver vs GeoserverMapserver vs Geoserver
Mapserver vs Geoserver
novum.limitis
 

Was ist angesagt? (20)

Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...
Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...
Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...
 
KDB database (EPAM tech talks, Sofia, April, 2015)
KDB database (EPAM tech talks, Sofia, April, 2015)KDB database (EPAM tech talks, Sofia, April, 2015)
KDB database (EPAM tech talks, Sofia, April, 2015)
 
Golang in TiDB (GopherChina 2017)
Golang in TiDB  (GopherChina 2017)Golang in TiDB  (GopherChina 2017)
Golang in TiDB (GopherChina 2017)
 
Hadoop job chaining
Hadoop job chainingHadoop job chaining
Hadoop job chaining
 
Tile Caching Options
Tile Caching OptionsTile Caching Options
Tile Caching Options
 
Wms Performance Tests Map Server Vs Geo Server
Wms Performance Tests Map Server Vs Geo ServerWms Performance Tests Map Server Vs Geo Server
Wms Performance Tests Map Server Vs Geo Server
 
Cloud Optimized GeotTIFFs: enabling efficient cloud workflows
Cloud Optimized GeotTIFFs: enabling efficient cloud workflows Cloud Optimized GeotTIFFs: enabling efficient cloud workflows
Cloud Optimized GeotTIFFs: enabling efficient cloud workflows
 
mod-geocache / mapcache - A fast tiling solution for the apache web server
mod-geocache / mapcache - A fast tiling solution for the apache web servermod-geocache / mapcache - A fast tiling solution for the apache web server
mod-geocache / mapcache - A fast tiling solution for the apache web server
 
Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...
 
Making data storage more efficient
Making data storage more efficientMaking data storage more efficient
Making data storage more efficient
 
Latest in ml
Latest in mlLatest in ml
Latest in ml
 
How to build TiDB
How to build TiDBHow to build TiDB
How to build TiDB
 
Paper reading: HashKV and beyond
Paper reading: HashKV and beyondPaper reading: HashKV and beyond
Paper reading: HashKV and beyond
 
Ch 5: Introduction to heap overflows
Ch 5: Introduction to heap overflowsCh 5: Introduction to heap overflows
Ch 5: Introduction to heap overflows
 
Mapserver vs Geoserver
Mapserver vs GeoserverMapserver vs Geoserver
Mapserver vs Geoserver
 
Enterprise-Wide Optimization for Operations of Crude-Oil Refineries: closing ...
Enterprise-Wide Optimization for Operations of Crude-Oil Refineries: closing ...Enterprise-Wide Optimization for Operations of Crude-Oil Refineries: closing ...
Enterprise-Wide Optimization for Operations of Crude-Oil Refineries: closing ...
 
A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)
 
Complex Crude-oil Refinery Scheduling Optimization
Complex Crude-oil Refinery Scheduling OptimizationComplex Crude-oil Refinery Scheduling Optimization
Complex Crude-oil Refinery Scheduling Optimization
 
Building a transactional key-value store that scales to 100+ nodes (percona l...
Building a transactional key-value store that scales to 100+ nodes (percona l...Building a transactional key-value store that scales to 100+ nodes (percona l...
Building a transactional key-value store that scales to 100+ nodes (percona l...
 
Rust in TiKV
Rust in TiKVRust in TiKV
Rust in TiKV
 

Ähnlich wie Progress_190118

Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4
YanpingWang
 
Quick introduction to Java Garbage Collector (JVM GC)
Quick introduction to Java Garbage Collector (JVM GC)Quick introduction to Java Garbage Collector (JVM GC)
Quick introduction to Java Garbage Collector (JVM GC)
Marcos García
 

Ähnlich wie Progress_190118 (20)

Progress_190213
Progress_190213Progress_190213
Progress_190213
 
J9 Balanced GC
J9 Balanced GCJ9 Balanced GC
J9 Balanced GC
 
Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4Hadoop world g1_gc_forh_base_v4
Hadoop world g1_gc_forh_base_v4
 
ZGC-SnowOne.pdf
ZGC-SnowOne.pdfZGC-SnowOne.pdf
ZGC-SnowOne.pdf
 
Scala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala TaiwanScala & Spark(1.6) in Performance Aspect for Scala Taiwan
Scala & Spark(1.6) in Performance Aspect for Scala Taiwan
 
JVM Performance Tuning
JVM Performance TuningJVM Performance Tuning
JVM Performance Tuning
 
TeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage DevicesTeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage Devices
 
Memory in go
Memory in goMemory in go
Memory in go
 
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...
Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Adva...
 
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
 
Anatomy of in memory processing in Spark
Anatomy of in memory processing in SparkAnatomy of in memory processing in Spark
Anatomy of in memory processing in Spark
 
Paper_Design of Swap-aware Java Virtual Machine Garbage Collector Policy
Paper_Design of Swap-aware Java Virtual Machine Garbage Collector PolicyPaper_Design of Swap-aware Java Virtual Machine Garbage Collector Policy
Paper_Design of Swap-aware Java Virtual Machine Garbage Collector Policy
 
GC Tuning Confessions Of A Performance Engineer
GC Tuning Confessions Of A Performance EngineerGC Tuning Confessions Of A Performance Engineer
GC Tuning Confessions Of A Performance Engineer
 
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like systemAccelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
Accelerate Reed-Solomon coding for Fault-Tolerance in RAID-like system
 
Performance tuning jvm
Performance tuning jvmPerformance tuning jvm
Performance tuning jvm
 
Quick introduction to Java Garbage Collector (JVM GC)
Quick introduction to Java Garbage Collector (JVM GC)Quick introduction to Java Garbage Collector (JVM GC)
Quick introduction to Java Garbage Collector (JVM GC)
 
Slices Of Performance in Java - Oleksandr Bodnar
Slices Of Performance in Java - Oleksandr BodnarSlices Of Performance in Java - Oleksandr Bodnar
Slices Of Performance in Java - Oleksandr Bodnar
 
Scaling graphite to handle a zerg rush
Scaling graphite to handle a zerg rushScaling graphite to handle a zerg rush
Scaling graphite to handle a zerg rush
 
Elastic JVM for Scalable Java EE Applications Running in Containers #Jakart...
Elastic JVM  for Scalable Java EE Applications  Running in Containers #Jakart...Elastic JVM  for Scalable Java EE Applications  Running in Containers #Jakart...
Elastic JVM for Scalable Java EE Applications Running in Containers #Jakart...
 
It's Time To Stop Using Lambda Architecture | Yaroslav Tkachenko, Shopify
It's Time To Stop Using Lambda Architecture | Yaroslav Tkachenko, ShopifyIt's Time To Stop Using Lambda Architecture | Yaroslav Tkachenko, Shopify
It's Time To Stop Using Lambda Architecture | Yaroslav Tkachenko, Shopify
 

Kürzlich hochgeladen

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Kürzlich hochgeladen (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 

Progress_190118

  • 1. Hyojeong Lee Distributed Computing System Laboratory Department of Computer Science and Engineering Seoul National University, Korea Progress Report
  • 2. ● Swap-aware JVM GC policy ● Parallel logging Table of Contents
  • 3. ● Motivation ● Necessity of swapping ● Performing memory-intensive workloads such as deep learning algorithm, the size of generated data is large and unpredictable. ● Current GC policy is not aware of swapping. ● ParallelCompact, default GC policy of Java8 do not consider whether data is swapped. ● Swap I/O by processing swapped data results in long GC time. ● For examples, ● SVD++ in Sparkbench (swap I/O & execution time) Swap-aware JVM GC Policy
  • 4. ● Background ● Full GC process i. Mark ii. Summary iii. Compact (sliding) Swap-aware JVM GC Policy Eden Sur0 Sur1 Old Region OldYoung
  • 5. (cf) Full GC process old source_reg dest_addr live_size … 512k Bottom Top End 142595
  • 6. (cf) Full GC process - Marking_phase 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1Bitmap 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1…...
  • 7. (cf) Full GC process - Summary_phase Traverse the whose space to pick up regions might be compacted source_reg = cur dest_addr = addr live_size = own size … source_reg = k+i dest_addr = x live_size = 0 … x k source_reg = 0 dest_addr = x + size*k live_size = size …
  • 8. (cf) Full GC process - Summary_phase Looking for the first region that contains dead data = full_cp Binary search full_cp
  • 9. (cf) Full GC process - Summary_phase Looking for the limited region with specific size of dead wood from full_cp • Density = live_data / capacity • Limited_dead_wood = Normal_distribution(density) * capacity
  • 10. (cf) Full GC process - Summary_phase full_cp limited_cp Limited_dead_wood
  • 11. (cf) Full GC process - Compact_phase (sliding) best_cp (with Max reclaim-ration=dead-ration) a.k.a: dense_prefix Compact regions
  • 12. (cf) Full GC process - Compact_phase (sliding) Bottom Top End
  • 13. Swap I/O occurs when… dense_prefix Swap space
  • 14. ● Definition ● What we all know, ● The default GC policy of Java8 does not take into account whether data is swapped, ● Resulting in long GC time due to Swap I/O. ● As a result of analyzing codes, ● Parallel Compact GC goes through the process of ‘Mark → Summary → Compact’. ● Swap I/O occurs when copying swapped data while compacting. Swap-aware JVM GC Policy
  • 15. ● Survey ● Effectively manage JVM heap to provide a way to handle big data workloads ● Characterizing and optimizing hotspot parallel GC on multicore systems, 2018, EuroSys: Work stealing technique ● Analysis and optimizations of java FGC, 2018, ISBN: Region skipping technique ● How to handle swap overhead ● Relation-based ordering of objects in an object heap, 2002: Using reference counter, objects with temporal locality can be placed in the same cache line, minimizing overhead by swapping. ● As a result, ● information about swap is usually not directly used. Swap-aware JVM GC Policy
  • 16. ● Features of workloads ● High Memory usage ● High Locality (So, there is compaction for swapped data.) ● Target workload ● Simple java program for validation ● GraphChi ● Platform for large and complex graph operations ● Used frequently for evaluating throughput in studies suggesting GC policy for memory-intensive workloads ● Deeplearning4j ● Platform for memory-intensive deep learning workloads Swap-aware JVM GC Policy
  • 17. ● Our solutions (Compact w/ swap) 1. Kernel(page) level: Swap flag ● DONE. Whether data is swapped using pagemap (summary) ● DOING. Whether data is copied or skipped, based on swappiness of region (compact) ● TODO. Large overhead for checking swappiness → Inserting a data structure to keep swappiness in the kernel can reduce the overhead. Swap-aware JVM GC Policy dense_prefix Swap space Swapped live data → Skip!
  • 18. ● Our solutions (Compact w/o swap) Swap-aware JVM GC Policy dense_prefix Virtual (heap) Physical (kernel) Actually, no need to compact → Just remapping virtual space!
  • 19. ● Kernel(page) level: Swap flag - Attempt (1) ● Implementation ● Evaluation (w/ Simple java program) ● Simple java program ● Make swapped objects target for compaction ● Result Swap-aware JVM GC Policy dense_prefix Swap space Swapped live data → Skip!
  • 20. ● Contents ● Parallel logging in Database: Shore-MT ● Data structure as supporter (Grasshopper) ● DONE ● Baseline evaluation ● Implementation of parallel logging (2-thread enabled) Parallel Logging (WAL)
  • 21. ● DOING ● Analyze source codes of target DB(Shore-MT) and make a plan for Implementing Grasshopper Parallel Logging (WAL)
  • 22. ● Swap-aware JVM GC policy ● ~ 01.25: Page level solution ● ~ 02.28: Kernel level solution ● Parallel logging ● ~ 01.25: Implement Grasshopper ● ~ 02.01: Evaluation & Optimization ● ~ 02.28: Parallel logging on Lustre file system ● Improve paper: An Efficient Journaling Mechanism in Lustre File System for Fast Storage Devices TODO