SlideShare a Scribd company logo
1 of 23
Garbage Collection and Efficient
Memory System for Java
Who is collecting your java Garbage
By: Chia-tien, W Srisa and J Morris
IEEE Computer Society Press, Vol 5 ,Apr 2003
An Efficient Memory System for Java
By: Li, Richard C.L. and Fong, Anthony S.S.
IJCSNS , Vol 7 June2007
Presented By:
Rohit Deshpande
130913016

2/16/2014

Department of computer science
and Engg,MIT Manipal

1
Table Of Contents
1.
2.
3.
4.
5.
6.

Introduction
Garbage Collection(GC) Techniques
Dynamic Memory Usage in Java
Hardware/Software Memory Management
Results Analysis
Conclusion

2/16/2014

Department of computer science and
Engg,MIT Manipal

2
1. Introduction
One of the significant issues that hinder the
performance of java program execution is
dynamic memory usage.
15.58% of the CPU time is used in handling
memory allocation request and 28.08% of the
CPU time in garbage collection.
JVM performance often depends on the
efficiency of its GC process.
2/16/2014

Department of computer science and
Engg,MIT Manipal

3
2. Garbage Collection Techniques
There are 6 types of Techniques/Strategies
1. Mark-sweep
2. Generational collection
3. Reference counting
4. Copying
5. Mark-compact
6. Stop-the-world
2/16/2014

Department of computer science and
Engg,MIT Manipal

4
2.1 Mark-sweep
Mark-sweep involves two phases: Marking and
sweeping.
Marking phase marks reachable objects through
either a depth-or breadth-first search on the
object reference graph.

The sweep phase consists of reclaiming garbage
back to system.
2/16/2014

Department of computer science and
Engg,MIT Manipal

5
2.2 Generational collection
It make use of Generational collectors.
This collectors divide objects into groups(young ,
old and infant).
Mostly Infant objects die quickly so become
garbage quickly.
Young generation objects involves minimal
marking efforts.
Whereas old generation objects could still need
full marking.
2/16/2014

Department of computer science and
Engg,MIT Manipal

6
2.3 Reference Counting
This technique associates each object with a
reference count, which records the number of
objects that can access the object. Once the
reference reaches 0, the corresponding object
is garbage.

2/16/2014

Department of computer science and
Engg,MIT Manipal

7
2.4 Copying
In this copying collector trace garbage(performs
garbage detection) but do not mark it.
Once it identifies live objects, it copies those
objects to another memory location and free
rest of the memory.

2/16/2014

Department of computer science and
Engg,MIT Manipal

8
2.5 Mark-compact
It involves two phases: marking and compacting.
Marking phase is same as in Mark-sweep. Once
the marking phase is finished, live objects are
moved side by side in memory this is known
as compaction.

2/16/2014

Department of computer science and
Engg,MIT Manipal

9
2.6 Stop-the-world
Stop-the-world garbage collector suspends all
program threads when its threads are
running. Then it search for free objects and
destroy them.
This technique is not used for time critical
applications as it suspends the current
running threads to free the memory.

2/16/2014

Department of computer science and
Engg,MIT Manipal

10
3. Dynamic Memory Usage in Java
In order to obtain the statistics on the memory
allocation and deallocation behavior of java
programs, a tracing tool was developed.
This tracing tool is a profiler agent developed
according to the specification of the Java
Virtual Machine Profiler Interface (JVMPI).
Different Java applications were chosen for
evaluation as follows
2/16/2014

Department of computer science and
Engg,MIT Manipal

11
2/16/2014

Department of computer science and
Engg,MIT Manipal

12
The different results obtained were passed to an
analyzer to analyze the data in 2 different
dimensions:
Size of block requested
Life time of a block
Following are the 3-dimensional plots of the
analysis

2/16/2014

Department of computer science and
Engg,MIT Manipal

13
Fig.1 Dynamic Memory Usage of JVM-98 Benchmark
2/16/2014

Department of computer science and
Engg,MIT Manipal

14
Fig.2 Dynamic Memory Usage of Java2D Demo
2/16/2014

Department of computer science and
Engg,MIT Manipal

15
Fig.3 Dynamic Memory Usage of J2EE PetStore Demo
2/16/2014

Department of computer science and
Engg,MIT Manipal

16
On the basis of above study it was stated that
Java applications show similar locality, and
that memory allocation requests are
concentrated on small block sizes(<1K bytes)
and blocks allocated usually have short life
times.
Based on this findings a Hardware/Software
solution was proposed.
2/16/2014

Department of computer science and
Engg,MIT Manipal

17
4. Hardware/Software Memory
Management
Allocation requests are first classified into small
size and large size types.
To provide effective memory management in
hardware, the main memory is divided into
fixed sized regions.
The Small Object Heap (SOH) is used for purpose
of allocating small blocks.

2/16/2014

Department of computer science and
Engg,MIT Manipal

18
Fig.4 Memory Management Cache
2/16/2014

Department of computer science and
Engg,MIT Manipal

19
5. Result Analysis
Using above Memory Management Cache
Scheme it was found that around 98.2% of all
memory allocation and deallocation requests
can be handled by the hardware in a single
cycle.
1.6% of the requests will have a penalty on the
miss in the memory management cache and
0.2% of the request will rely on software
method to fulfill the request.
2/16/2014

Department of computer science and
Engg,MIT Manipal

20
Effective time for allocation=
98.2% X 1cycle + 1.6% X 1014cycles + 0.2% X 400
cycles=18cycles
Comparing with the 400 cycles required by best
malloc software algo, the performance of the
proposed solution give a gain of
400/18=22 times.
Thus the overall speed up is around 17%.

2/16/2014

Department of computer science and
Engg,MIT Manipal

21
6. Conclusion
With the given algo for garbage collection and
proposed hardware/software combined
memory system that is responsible for
handling memory allocation/deallocation
requests of small size(<=1Kbytes)blocks, while
traditional software malloc routine is used for
handling large block(>1kbytes). An overall 17%
gain is possible while executing Java program.
2/16/2014

Department of computer science and
Engg,MIT Manipal

22
Thank You

2/16/2014

Department of computer science and
Engg,MIT Manipal

23

More Related Content

Viewers also liked

Lo que usted debe saber sobre Teletrabajo
Lo que usted debe saber sobre TeletrabajoLo que usted debe saber sobre Teletrabajo
Lo que usted debe saber sobre TeletrabajoD_Informatico
 
Cleveland gudger ignite presentation slideshow
Cleveland gudger ignite presentation slideshowCleveland gudger ignite presentation slideshow
Cleveland gudger ignite presentation slideshowLammar Gudger
 
Whats next 005
Whats next 005Whats next 005
Whats next 005jbourne269
 
Manual primar-management-inundatii-seceta
Manual primar-management-inundatii-secetaManual primar-management-inundatii-seceta
Manual primar-management-inundatii-secetaomirel
 
Monsters clip 01
Monsters clip 01Monsters clip 01
Monsters clip 01jbourne269
 
Monsters clip 04
Monsters clip 04Monsters clip 04
Monsters clip 04jbourne269
 
Monsters clip 05
Monsters clip 05Monsters clip 05
Monsters clip 05jbourne269
 
Whats next 003
Whats next 003Whats next 003
Whats next 003jbourne269
 
PowerPoint on using commas
PowerPoint on using commasPowerPoint on using commas
PowerPoint on using commasajrobbo67
 
Monsters night out_full
Monsters night out_fullMonsters night out_full
Monsters night out_fulljbourne269
 
Kaya dari online
Kaya dari onlineKaya dari online
Kaya dari onlinefelixcsu
 
Origenes futbol colombiano
Origenes futbol colombianoOrigenes futbol colombiano
Origenes futbol colombianoyeisonmfc
 
Monsters clips 02
Monsters clips 02Monsters clips 02
Monsters clips 02jbourne269
 
Ordonanta de urgenta_nr 21 din 2004
Ordonanta de urgenta_nr 21 din 2004Ordonanta de urgenta_nr 21 din 2004
Ordonanta de urgenta_nr 21 din 2004omirel
 
Monsters clip 01A
Monsters clip 01AMonsters clip 01A
Monsters clip 01Ajbourne269
 

Viewers also liked (19)

Lo que usted debe saber sobre Teletrabajo
Lo que usted debe saber sobre TeletrabajoLo que usted debe saber sobre Teletrabajo
Lo que usted debe saber sobre Teletrabajo
 
Cleveland gudger ignite presentation slideshow
Cleveland gudger ignite presentation slideshowCleveland gudger ignite presentation slideshow
Cleveland gudger ignite presentation slideshow
 
Whats next 005
Whats next 005Whats next 005
Whats next 005
 
Learning strategies
Learning strategiesLearning strategies
Learning strategies
 
White FUN Paper
White FUN PaperWhite FUN Paper
White FUN Paper
 
Manual primar-management-inundatii-seceta
Manual primar-management-inundatii-secetaManual primar-management-inundatii-seceta
Manual primar-management-inundatii-seceta
 
Monsters clip 01
Monsters clip 01Monsters clip 01
Monsters clip 01
 
Monsters clip 04
Monsters clip 04Monsters clip 04
Monsters clip 04
 
Monsters clip 05
Monsters clip 05Monsters clip 05
Monsters clip 05
 
Whats next 003
Whats next 003Whats next 003
Whats next 003
 
PowerPoint on using commas
PowerPoint on using commasPowerPoint on using commas
PowerPoint on using commas
 
Monsters night out_full
Monsters night out_fullMonsters night out_full
Monsters night out_full
 
Kaya dari online
Kaya dari onlineKaya dari online
Kaya dari online
 
Life science abu
Life science abuLife science abu
Life science abu
 
Origenes futbol colombiano
Origenes futbol colombianoOrigenes futbol colombiano
Origenes futbol colombiano
 
Monsters clips 02
Monsters clips 02Monsters clips 02
Monsters clips 02
 
Ordonanta de urgenta_nr 21 din 2004
Ordonanta de urgenta_nr 21 din 2004Ordonanta de urgenta_nr 21 din 2004
Ordonanta de urgenta_nr 21 din 2004
 
Monsters clip 01A
Monsters clip 01AMonsters clip 01A
Monsters clip 01A
 
Spaced out
Spaced outSpaced out
Spaced out
 

Similar to An efficient memory system for java Garbage Collection

International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)inventionjournals
 
OPERATING SYSTEM BY DR .MUGABO MG MKAMA
OPERATING SYSTEM BY DR .MUGABO MG MKAMAOPERATING SYSTEM BY DR .MUGABO MG MKAMA
OPERATING SYSTEM BY DR .MUGABO MG MKAMAMugabo Mkama
 
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURES
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURESREDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURES
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURESijcsit
 
Reducing Competitive Cache Misses in Modern Processor Architectures
Reducing Competitive Cache Misses in Modern Processor ArchitecturesReducing Competitive Cache Misses in Modern Processor Architectures
Reducing Competitive Cache Misses in Modern Processor ArchitecturesAIRCC Publishing Corporation
 
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURES
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURESREDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURES
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURESijcsit
 
IRJET- Determining the Components of Waste Assisted with Analysis of Meth...
IRJET-  	  Determining the Components of Waste Assisted with Analysis of Meth...IRJET-  	  Determining the Components of Waste Assisted with Analysis of Meth...
IRJET- Determining the Components of Waste Assisted with Analysis of Meth...IRJET Journal
 
Discovering Robustness Amongst CBIR Features
Discovering Robustness Amongst CBIR Features     Discovering Robustness Amongst CBIR Features
Discovering Robustness Amongst CBIR Features dannyijwest
 
A Review of Memory Allocation and Management in Computer Systems
A Review of Memory Allocation and Management in Computer SystemsA Review of Memory Allocation and Management in Computer Systems
A Review of Memory Allocation and Management in Computer SystemsCSEIJJournal
 
Computer Science & Engineering: An International Journal (CSEIJ)
Computer Science & Engineering: An International Journal (CSEIJ)Computer Science & Engineering: An International Journal (CSEIJ)
Computer Science & Engineering: An International Journal (CSEIJ)cseij
 
A REVIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMS
A REVIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMSA REVIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMS
A REVIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMScseij
 
VIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMS
VIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMSVIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMS
VIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMScseij
 
6416cseij01
6416cseij016416cseij01
6416cseij01cseij
 
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS ijcax
 
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS ijcax
 
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS ijcax
 
An Efficient Virtual Memory using Graceful Code
An Efficient Virtual Memory using Graceful CodeAn Efficient Virtual Memory using Graceful Code
An Efficient Virtual Memory using Graceful Codeijtsrd
 
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUES
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUESBEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUES
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUESijaia
 
Virtual Memory
Virtual MemoryVirtual Memory
Virtual Memoryvampugani
 
TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012Ashish Bhasin
 

Similar to An efficient memory system for java Garbage Collection (20)

Android Memory Management
Android Memory ManagementAndroid Memory Management
Android Memory Management
 
International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)
 
OPERATING SYSTEM BY DR .MUGABO MG MKAMA
OPERATING SYSTEM BY DR .MUGABO MG MKAMAOPERATING SYSTEM BY DR .MUGABO MG MKAMA
OPERATING SYSTEM BY DR .MUGABO MG MKAMA
 
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURES
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURESREDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURES
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURES
 
Reducing Competitive Cache Misses in Modern Processor Architectures
Reducing Competitive Cache Misses in Modern Processor ArchitecturesReducing Competitive Cache Misses in Modern Processor Architectures
Reducing Competitive Cache Misses in Modern Processor Architectures
 
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURES
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURESREDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURES
REDUCING COMPETITIVE CACHE MISSES IN MODERN PROCESSOR ARCHITECTURES
 
IRJET- Determining the Components of Waste Assisted with Analysis of Meth...
IRJET-  	  Determining the Components of Waste Assisted with Analysis of Meth...IRJET-  	  Determining the Components of Waste Assisted with Analysis of Meth...
IRJET- Determining the Components of Waste Assisted with Analysis of Meth...
 
Discovering Robustness Amongst CBIR Features
Discovering Robustness Amongst CBIR Features     Discovering Robustness Amongst CBIR Features
Discovering Robustness Amongst CBIR Features
 
A Review of Memory Allocation and Management in Computer Systems
A Review of Memory Allocation and Management in Computer SystemsA Review of Memory Allocation and Management in Computer Systems
A Review of Memory Allocation and Management in Computer Systems
 
Computer Science & Engineering: An International Journal (CSEIJ)
Computer Science & Engineering: An International Journal (CSEIJ)Computer Science & Engineering: An International Journal (CSEIJ)
Computer Science & Engineering: An International Journal (CSEIJ)
 
A REVIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMS
A REVIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMSA REVIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMS
A REVIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMS
 
VIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMS
VIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMSVIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMS
VIEW OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMS
 
6416cseij01
6416cseij016416cseij01
6416cseij01
 
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
 
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
 
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
IDENTIFY NAVIGATIONAL PATTERNS OF WEB USERS
 
An Efficient Virtual Memory using Graceful Code
An Efficient Virtual Memory using Graceful CodeAn Efficient Virtual Memory using Graceful Code
An Efficient Virtual Memory using Graceful Code
 
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUES
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUESBEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUES
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUES
 
Virtual Memory
Virtual MemoryVirtual Memory
Virtual Memory
 
TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012
 

Recently uploaded

MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 

Recently uploaded (20)

MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 

An efficient memory system for java Garbage Collection

  • 1. Garbage Collection and Efficient Memory System for Java Who is collecting your java Garbage By: Chia-tien, W Srisa and J Morris IEEE Computer Society Press, Vol 5 ,Apr 2003 An Efficient Memory System for Java By: Li, Richard C.L. and Fong, Anthony S.S. IJCSNS , Vol 7 June2007 Presented By: Rohit Deshpande 130913016 2/16/2014 Department of computer science and Engg,MIT Manipal 1
  • 2. Table Of Contents 1. 2. 3. 4. 5. 6. Introduction Garbage Collection(GC) Techniques Dynamic Memory Usage in Java Hardware/Software Memory Management Results Analysis Conclusion 2/16/2014 Department of computer science and Engg,MIT Manipal 2
  • 3. 1. Introduction One of the significant issues that hinder the performance of java program execution is dynamic memory usage. 15.58% of the CPU time is used in handling memory allocation request and 28.08% of the CPU time in garbage collection. JVM performance often depends on the efficiency of its GC process. 2/16/2014 Department of computer science and Engg,MIT Manipal 3
  • 4. 2. Garbage Collection Techniques There are 6 types of Techniques/Strategies 1. Mark-sweep 2. Generational collection 3. Reference counting 4. Copying 5. Mark-compact 6. Stop-the-world 2/16/2014 Department of computer science and Engg,MIT Manipal 4
  • 5. 2.1 Mark-sweep Mark-sweep involves two phases: Marking and sweeping. Marking phase marks reachable objects through either a depth-or breadth-first search on the object reference graph. The sweep phase consists of reclaiming garbage back to system. 2/16/2014 Department of computer science and Engg,MIT Manipal 5
  • 6. 2.2 Generational collection It make use of Generational collectors. This collectors divide objects into groups(young , old and infant). Mostly Infant objects die quickly so become garbage quickly. Young generation objects involves minimal marking efforts. Whereas old generation objects could still need full marking. 2/16/2014 Department of computer science and Engg,MIT Manipal 6
  • 7. 2.3 Reference Counting This technique associates each object with a reference count, which records the number of objects that can access the object. Once the reference reaches 0, the corresponding object is garbage. 2/16/2014 Department of computer science and Engg,MIT Manipal 7
  • 8. 2.4 Copying In this copying collector trace garbage(performs garbage detection) but do not mark it. Once it identifies live objects, it copies those objects to another memory location and free rest of the memory. 2/16/2014 Department of computer science and Engg,MIT Manipal 8
  • 9. 2.5 Mark-compact It involves two phases: marking and compacting. Marking phase is same as in Mark-sweep. Once the marking phase is finished, live objects are moved side by side in memory this is known as compaction. 2/16/2014 Department of computer science and Engg,MIT Manipal 9
  • 10. 2.6 Stop-the-world Stop-the-world garbage collector suspends all program threads when its threads are running. Then it search for free objects and destroy them. This technique is not used for time critical applications as it suspends the current running threads to free the memory. 2/16/2014 Department of computer science and Engg,MIT Manipal 10
  • 11. 3. Dynamic Memory Usage in Java In order to obtain the statistics on the memory allocation and deallocation behavior of java programs, a tracing tool was developed. This tracing tool is a profiler agent developed according to the specification of the Java Virtual Machine Profiler Interface (JVMPI). Different Java applications were chosen for evaluation as follows 2/16/2014 Department of computer science and Engg,MIT Manipal 11
  • 12. 2/16/2014 Department of computer science and Engg,MIT Manipal 12
  • 13. The different results obtained were passed to an analyzer to analyze the data in 2 different dimensions: Size of block requested Life time of a block Following are the 3-dimensional plots of the analysis 2/16/2014 Department of computer science and Engg,MIT Manipal 13
  • 14. Fig.1 Dynamic Memory Usage of JVM-98 Benchmark 2/16/2014 Department of computer science and Engg,MIT Manipal 14
  • 15. Fig.2 Dynamic Memory Usage of Java2D Demo 2/16/2014 Department of computer science and Engg,MIT Manipal 15
  • 16. Fig.3 Dynamic Memory Usage of J2EE PetStore Demo 2/16/2014 Department of computer science and Engg,MIT Manipal 16
  • 17. On the basis of above study it was stated that Java applications show similar locality, and that memory allocation requests are concentrated on small block sizes(<1K bytes) and blocks allocated usually have short life times. Based on this findings a Hardware/Software solution was proposed. 2/16/2014 Department of computer science and Engg,MIT Manipal 17
  • 18. 4. Hardware/Software Memory Management Allocation requests are first classified into small size and large size types. To provide effective memory management in hardware, the main memory is divided into fixed sized regions. The Small Object Heap (SOH) is used for purpose of allocating small blocks. 2/16/2014 Department of computer science and Engg,MIT Manipal 18
  • 19. Fig.4 Memory Management Cache 2/16/2014 Department of computer science and Engg,MIT Manipal 19
  • 20. 5. Result Analysis Using above Memory Management Cache Scheme it was found that around 98.2% of all memory allocation and deallocation requests can be handled by the hardware in a single cycle. 1.6% of the requests will have a penalty on the miss in the memory management cache and 0.2% of the request will rely on software method to fulfill the request. 2/16/2014 Department of computer science and Engg,MIT Manipal 20
  • 21. Effective time for allocation= 98.2% X 1cycle + 1.6% X 1014cycles + 0.2% X 400 cycles=18cycles Comparing with the 400 cycles required by best malloc software algo, the performance of the proposed solution give a gain of 400/18=22 times. Thus the overall speed up is around 17%. 2/16/2014 Department of computer science and Engg,MIT Manipal 21
  • 22. 6. Conclusion With the given algo for garbage collection and proposed hardware/software combined memory system that is responsible for handling memory allocation/deallocation requests of small size(<=1Kbytes)blocks, while traditional software malloc routine is used for handling large block(>1kbytes). An overall 17% gain is possible while executing Java program. 2/16/2014 Department of computer science and Engg,MIT Manipal 22
  • 23. Thank You 2/16/2014 Department of computer science and Engg,MIT Manipal 23