Packed Object Synchronization Introduction Many Java applications and frameworks must deal directly with native data. Packed Objects provide an approach.

Slides:



Advertisements
Similar presentations
Technology Drivers Traditional HPC application drivers – OS noise, resource monitoring and management, memory footprint – Complexity of resources to be.
Advertisements

Lecture 10: Part 1: OO Issues CS 540 George Mason University.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Chap 4 Multithreaded Programming. Thread A thread is a basic unit of CPU utilization It comprises a thread ID, a program counter, a register set and a.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
Chapter 5 Threads os5.
Modified from Silberschatz, Galvin and Gagne ©2009 Lecture 7 Chapter 4: Threads (cont)
DISTRIBUTED AND HIGH-PERFORMANCE COMPUTING CHAPTER 7: SHARED MEMORY PARALLEL PROGRAMMING.
Based on Silberschatz, Galvin and Gagne  2009 Threads Definition and motivation Multithreading Models Threading Issues Examples.
Physical Database Monitoring and Tuning the Operational System.
Language Support for Lightweight transactions Tim Harris & Keir Fraser Presented by Narayanan Sundaram 04/28/2008.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
1 Java Grande Introduction  Grande Application: a GA is any application, scientific or industrial, that requires a large number of computing resources(CPUs,
Silberschatz, Galvin and Gagne  Operating System Concepts Common System Components Process Management Main Memory Management File Management.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #29-1 Chapter 33: Virtual Machines Virtual Machine Structure Virtual Machine.
Page 1 © 2001 Hewlett-Packard Company Tools for Measuring System and Application Performance Introduction GlancePlus Introduction Glance Motif Glance Character.
Client/Server Software Architectures Yonglei Tao.
Java Collections Framework A presentation by Eric Fabricant.
Discussion Week 3 TA: Kyle Dewey. Overview Concurrency overview Synchronization primitives Semaphores Locks Conditions Project #1.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Chapter 4 MultiThreaded Programming. 2015/9/18os Outline Overview Multithreading Models Threading Issues Pthreads Solaris 2 Threads Windows XP/2000.
Chapter 4: Threads. 4.2CSCI 380 Operating Systems Chapter 4: Threads Overview Multithreading Models Threading Issues Pthreads Windows XP Threads Linux.
Silberschatz, Galvin and Gagne ©2011Operating System Concepts Essentials – 8 th Edition Chapter 4: Threads.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Entity Beans BMP Celsina Bignoli
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
Threads in Java. History  Process is a program in execution  Has stack/heap memory  Has a program counter  Multiuser operating systems since the sixties.
Lecture 5 : JAVA Thread Programming Courtesy : MIT Prof. Amarasinghe and Dr. Rabbah’s course note.
Multithreading in Java Project of COCS 513 By Wei Li December, 2000.
1 Concurrent Languages – Part 1 COMP 640 Programming Languages.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Object Model Cache Locality Abstract In modern computer systems the major performance bottleneck is memory latency. Multi-layer cache hierarchies are an.
Lecture 8 Page 1 CS 111 Online Other Important Synchronization Primitives Semaphores Mutexes Monitors.
Methodology – Physical Database Design for Relational Databases.
Lecture 5: Threads process as a unit of scheduling and a unit of resource allocation processes vs. threads what to program with threads why use threads.
Threads Eivind J. Nordby University of Karlstad Inst. for Information Technology Dept. of Computer Science.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 4: Threads Modified from the slides of the text book. TY, Sept 2010.
Department of Computer Science and Software Engineering
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Operating Systems: Internals and Design Principles
CSE 598c – Virtual Machines Survey Proposal: Improving Performance for the JVM Sandra Rueda.
Polytechnic University of Tirana Faculty of Information Technology Computer Engineering Department A MULTITHREADED SEARCH ENGINE AND TESTING OF MULTITHREADED.
Thread basics. A computer process Every time a program is executed a process is created It is managed via a data structure that keeps all things memory.
Threads. Readings r Silberschatz et al : Chapter 4.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn University
System Components Operating System Services System Calls.
Operating System Structure Lecture: - Operating System Concepts Lecturer: - Pooja Sharma Computer Science Department, Punjabi University, Patiala.
Chapter 3: Windows7 Part 5.
Topic: Java Garbage Collection
PA1 Discussion.
Processes and Threads Processes and their scheduling
Outline Other synchronization primitives
Multithreaded Programming in Java
Other Important Synchronization Primitives
Chapter 3: Windows7 Part 5.
Dr. Marina Gavrilova CPSC 335 Computer Science University of Calgary
Binding Times Binding is an association between two things Examples:
Chapter 2: Operating-System Structures
Operating Systems Lecture 1.
Introduction to Operating Systems
COP3530- Data Structures Introduction
Chapter 2: Operating-System Structures
Lecture 18: Coherence and Synchronization
Java Chapter 3 (Estifanos Tilahun Mihret--Tech with Estif)
Presentation transcript:

Packed Object Synchronization Introduction Many Java applications and frameworks must deal directly with native data. Packed Objects provide an approach for users to deal with native data in a more convenient way. Unlike the standard Java data model, the Packed Object data model uses the space more efficiently and reduces the overhead of each object. However, due to this change in the object model, certain Java built-in mechanisms have to adapt to the new model. Since multiple packed objects could potentially refer to the same underlying data, and packed objects may have to deal with data shared with non-java code, a new approach to synchronize on Packed Objects is needed. Packed Object Data Model (a) Packed object data model (b) Non-packed Java object data model Packed object data model is more compact. Instance field of packed object is inlined in the containing packed object. Multiple packed objects may refer to the same underlying data. Users have more control over the layout of java objects. Packed objects avoid copying and marshalling native data structure into Java heap for manipulation. Research Goal and Approach The primary research goal is to build a framework for providing flexible and scalable synchronization that could be used for concurrent programing of java packed objects as well as non-java native code. In the current phase, our main focus is to make use of existing data structures and implement synchronization methods for packed objects and provide interfaces for users in Java and native code applications. Packed objects do not contain a Lock-word field. Only the object being synchronized would be mapped to a monitor structure. The address of the packed object data would be the key to map with a monitor. An interface method would be explicitly invoked to acquire locking on the associated monitor before accessing the critical region of the packed object. An interface method would be explicitly invoked to release locking on the monitor after the thread finished its work. Bing Yang(UNB), Dr. Kenneth Kent(UNB), Dr. Eric Aubanel(UNB), Karl Taylor(IBM) University of New Brunswick, IBM Canada Faculty of Computer Science Primitive field Meta DataLock WordMeta DataLock Word Instance field A - Reference Instance field B - Reference Meta DataLock Word Primitive field Meta Data Instance field A – Packed data Instance field B – Packed data Monitor reference 0monitorPtr reference 1monitorPtr reference 2monitorPtr …… Hash Table Packed Data addr0monitorPtr0 Packed Data addr1monitorPtr1 Packed Data addr2monitorPtr2 …… Hash Table Standard Java Object Packed Object Native storage Java heap Meta Data Primitive field Instance field A Instance field B I/O Meta Data Primitive field Instance field A Instance field B JVM Native storage Java heap Meta Data Primitive field Instance field A-Ref I/O Meta Data Primitive field Instance field A Instance field B Meta Data Instance field B-Ref Data field A Meta Data Data field B JVM Monitor