Free Essay

Distributed Garbage Collection

In: Computers and Technology

Submitted By shashwatx
Words 3051
Pages 13
Distributed Garbage Collection
A study and comparison of Mark-Sweep and Reference Counting

Tanmay Mogra Y7471 Shashwat Mishra Y7416

Table of Contents
History and Motivation 1 ------------------------------------------------

Work Completed Mark and Sweep ------------------------------------------------2 Basic Algorithm ------------------------------------------------2 Strengths and Weaknesses ------------------------------------------------2 Varations of Mark and Sweep -------------------------------------------------2 Reference Counting Basic Algorithm Strengths and Weaknesses 3 3 Mark and Sweep vs. Reference Counting Design/Implementation A Simulation of Reference Counting using JAVA's ----------------------------------------------Remote Method Invocation API Conclusion References -----------------------------------------------------------------------------------------------6 7 5 -----------------------------------------------4 Variations of Ref. Counting --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------3 3

History and Motivation
The problem statement requires one to study and compare the efficiency of two garbage collection algorithms, Mark and Sweep and Reference Counting, in the context of distributed object systems. It also involves the implementation of one of the two algorithms. Modern systems come with limited memory. Part of this memory is known as 'heap', which is dynamically allocated as and when needed. References are maintained to the locations in the heap. In such a scenario, it is possible for chunk of memory to become unreachable (when there is no reference to it). Such chunks which are not reachable, become garbage. Garbage collection refers to automatic memory management. This is in contrast to explicit (manual) heap management, which gives the responsibility of de-allocating memory occupied by objects to the application programmer . As modern software development involves large, complex artefacts of software, often developed by a large team of developers, no one person knows the implementation details of the entire system. It is thus very difficult for any developer to manage memory manually. Manual allocation and de-allocation is prone to errors that cause difficult-to-debug problems. This issue is made more prominent in distributed systems where there are many of threads of control, many processes interacting and often components developed by many different parties. Explicit management is out of the question in such situations. This calls for automatic memory management schemes. In distributed systems, garbage collection becomes more difficult because of the very concurrent nature of a distributed system. Since each node has one or more processes, there are very many mutators constantly changing the reference graph of objects in memory. For an object to be able to explicitly collect another object’s memory, it would have to know that the particular object was not going to be referred to by all the processes in the system. In context of the distributed garbage collection, the part which receives request from the application program and handles allocation of free cells of the heap memory is known as Allocator. The part which handles reclaimation of memory is known as the Collector. The application program itself is known as the Mutator because it changes the connectivity of the graph of the heap data structures by requesting creation/deletion of references. Some locations in the heap are known as root. A root is a location in the memory which is always accessible to the program. For example in a java program class variables can play the role of root. Any location in the memory is termed as reachable if it is reachable from root through one or more references. The heart of the problem lies in reclaiming the nonreachable memory. Classically, there are three broad algorithms for handling distributed garbage collection. Reference counting ( which works by maintaing a count of references to a particular object ), Mark and Sweep (which works in phases to reclaim memory) and Copy Collection (like Mark and Sweep with the advantage that it incorporates defragmentation into reclaimation).

Mark and Sweep
Basic Algorithm :Presented in [McCarthy, 1960] for the LISP language, this was the first algorithm for automatic heap management. Also known as tracing collector it works in two phases. All the objects have a mark-bit which is initially set to 0. Phases :1. Garbage Detection: This is done by tracing, starting at the root set and traversing the graph of pointer relationships using BFS or DFS. The mark-bits in the objects that are reached are set to 1. 2. Garbage Reclamation: Once all the live objects have been made distinguishable from the garbage, memory is swept. It is exhaustively examined (all cells) to find all the unmarked objects and reclaim them. All the marked objects have their mark bits reset, in readiness for the next phase. Strengths :The strengths of the mark-sweep algorithm have lead to its adoption in some systems. The functional language Miranda [Turner, 1985] is a notable example. Mark and Sweep has two major advantages 1. Cyclic data structures are handled naturally. This is because all objects are not examined from the point of view of other objects referring to them, but from the root set. If an island in the graph occurs, it will have no references directly or indirectly from the root set and thus will not be marked. 2. There is no overhead in pointer manipulation. We'll see that reference counting places a high overhead whenever a pointer is created, copied or destroyed. In the mark-sweep, because the algorithm does not update its view of liveness every time the mutator mutates the graph of references, this overhead does not occur. Weaknesses :1. Fragmentation – This is a common problem to several GC algorithms. Because the collector does not move the objects, hence when handling objects of varying size, this will lead to creation of holes in the memory. This in turn increases the task of the allocator which will have to find a sufficiently large hole for memory-allocation requests. However this problem can be handled in a variation of Mark-Sweep. [Cohen and Nicolau, 1983]. 2. Slow due to Stop/Start nature - There will be a substantial pause in mutator activity when the collector is working. [Foderaro and Fateman, 1981] showed that as memory sizes grew faster than processing speeds, some large Lisp programs were spending between 25—40% of their time marking and sweeping, and users were waiting 5 seconds in a minute . For highly interactive systems such as window managers and video games, as well as real time applications and safety critical systems, this collector would not be practical. If on the other hand, response time is not an important consideration, marksweep does offer better performance than incremental algorithms like reference counting [Jones and Lins, 1996]. Variation :- Mark and Compact Suggested by [Cohen and Nicolau, 1983], it handles the problem of fragmentation by doing more passes of the memory. After marking phase, it makes 3 more phases a – to compute new locations for live objects b – to update pointers that refer to live objects c – to move the objects

Reference Counting

Basic Algorithm :Reference counting, first presented in [Collins, 1960] is a method where each object determines its only liveness. Every object maintains a count of the number of references to it from all the other objects in the distributed setup. Each time a reference to the object is created, the object's count is incremented. When a reference to an object is deleted, the count is decremented. When the reference count reaches zero, the memory occupied by an object may be reclaimed. This is because the zero count indicates that no pointers to the object exist and the program can never reach this object. Before an object X is reclaimed, the counts of all the objects which are referenced from X are decremented. This is because a reference from a garbage object is not meaningful as it is inaccessible. Thus reclaiming one object may result to the transitive decrementing of reference counts and reclaiming many other objects. Strengths :The main advantage of reference counting is its incremental nature of operation. It is interleaved with the mutator's own execution. Every unit of mutator execution which involves operation on references (copying, deleting) includes some time spent on handling reference counts. But this time is bounded. Hence reference counting is real time. Weaknesses :1. Fragmentation – Like Mark-Sweep, Reference Counting does not move the live objects. Thereby creating holes in the heap memory. Unfortunately, in case of Reference Counting there are not variations which can handle the fragmentation issue. 2. Detection of Cycles – Basic Reference Counting fails to detect islands of objects which are interconnected to one another but are un-reachable from the root. However this can be handled by running a tracing algorithm (like Mark-Sweep) after some period of time to detect all isolated cycles [Knuth, 1973], [Wise, 1979], [Deutsch and Bobrow, 1976] . 3. Overhead – Although we said that the time spent on operations over references is bounded, the cost of proportionaliy is large. Changing of a reference link from object a to object b causes two reference counts to be adjusted. Further, one will have to check for liveness of one these objects after the operation. This leads to a lot of work. Variations :Weighted Reference Counting :- In weighted reference counting every reference has a weight attached to it. Also every object stores a fixed quantity known as its own weight. The following invariant is maintained, an object's weight is equal to the sum of the weights of the references to it. Weighted Reference Counting scores over Basic Reference Counting by improving over the no. Of messages involved in copying a reference. In basic reference counting, whenever a new reference (of c) is copied from a to b, b needs to notify (send a message) to c to let it know that it should increase its reference count. However in weighted reference counting this can be avoided, when passing reference of c to b, a can also pass half of the weight of its reference to c. Thereby maintaining the invariant. When a reference is deleted, the weighted reference sum is decremented by the weight of the reference. This is communicated to the object by sending it a message. When the object detects that the weighted reference sum has dropped to zero, it may be reclaimed.

Mark-Sweep vs Ref. Counting
In context of distributed systems, latency plays an important role. Unnecessary delays can hamper the performance of the system. Hence every effort should be made to minimize

such delays. Because of Start/Stop nature of Distributed Mark-Sweep, every time the collector is initiated, the entire system must suspend all other work till the collector reclaims some memory. This step has to be repeated every single time the collector is initiated. This will introduce long pauses in the execution of the mutator. Whereas in Distributed Ref. Counting, an object will be accounted for as soon as it turns into garbage. Because of realtime nature of garbage collection it does not impose delays on the mutator like MarkSweep does. Hence it seems that in a distributed environment, Reference Counting is better option than Mark-Sweep. However, it is interesting to note that the performance of Reference Counting depends on the depth of the garbage. Depth of the garbage means the complexity of the reference graph. If the setup is such that deeply nested data structures are often created in the reference graphs, then Mark-Sweep outruns Reference Counting. However, in distributed server-client computing most references direct from a client to the server, hence long chains of remote references are rarely created. [Friedman, 77] and [Stoye et al, 84] discovered that 70% to 80% of all objects are referenced only once. The average references per object lies between 1.25 – 1.45. This factor weighs in favor of Distributed Reference Counting. We thus see that Distributed Reference Counting's latency-tolerant real-time nature scores over Mark-Sweep's delays in memory reclamation, thereby making the former a preferred choice in scenarios such as distributed client-server models, where latency is an important issue. An important issue left un-addressed in the justification of Distr. Ref. Counting is of Fault Tolerance. Essentially, if a node A goes down, then it may leave orphans on some node B. Such orphans will maintain there reference counts > 0 and hence will not be garbage collected. There are two ways to handle this. 1. A crashed node on resuming will send out garbage collect messages to all such orphan nodes 2. The concept of Lease is introduced. Essentially every object has a timer associated with it. After the timer runs out, the local GC must collect the object as garbage. If a node wishes to use an object on another node, it must re-new the lease after every fixed period of time. Given the concept of lease, all orphan nodes are bound to be collected by the local GC in B after their lease runs out. Hence Distr. Ref. Counting can be made to handle faults in the system.

Simulation of Distributed Reference Counting
We present a simulation of Distributed Reference Counting implemented in JAVA using JAVA's Remote Method Invocation API.

JAVA RMI facilitates easy creation of objects for use in remote procedure calls. In our simulation, we present a client-server model, where clients maintain references to objects that reside on servers. The servers maintain these objects and may hold references to other servers. We start with a fixed reference graph which mutates with time and corresponding to every significant event in the system, we print messages to denote these events. We do not actually claim the object as garbage but we show messages for the same. Hence in essence it is a simulation. We plan to replace the textual-message corresponding to every event, with a GUI output to make the outcome more legible. We are still working on this stage. The basic model is outlined in a diagram as shown below.

The grey circles on the left denote the clients, and the blue circles on the right denote the servers. Every server maintains a single object. This object is referenced to by the clients and by other servers. A client object can refer to more than one objects on different servers (client 1). A server object can be referenced to by more than one clients (server1). Lastly, one or more servers may hold referance to other server(s) (2,3,4 hold reference to 5). In our simulation as references are created, links will be drawn between client-server or server-server. In the background the reference count will be updated. When an object no longer needs a reference to a remote object, a clean() call will be issued to that object. The link will be removed, and the object, if eligible to be reclaimed, will also be removed. We plan to use java.awt package to render the graphic simulation. All clients and servers will communicate with a central thread notifying it of any significant event. The central thread will responsible for rendering the simulation.

Conclusion
This project involves the study of a consequence of limited memory in computer systems. Limited memory calls for efficient memory management techniques. In large distributed setups a single entity is not aware of memory allocations in the entire setup. Hence manual memory management is infeasible. This thought suggests that efficient automatic memory management is necessary for a system. Unreachable locations on the memory need to be reclaimed. In a non-distributed system a memory location can be referenced to only by the

objects on that system alone. The garbage collector is able to easily determine which objects are still in use by literally looking at each object in a program, marking those which are still in use and removing the leftovers. But with distributed objects, any node in the system could be using your objects if you let them. The garbage collector can't very well look at every object on the entire Web to determine which are still in use. We study and analyse two garbage collection algorithms, Mark-Sweep and Reference Counting. We come to learn that in case of distributed client-server model where latency is an important criteria, Distr. Ref. Counting scores over Mark-Sweep by claiming garbage in real-time. Reference counting does suffer from some drawbacks such as Fault Tolerance,Cycle detection etc but we see that variations of Reference counting have been proposed that over come these pitfalls. However on a similar note, one very important conclusion that we come across is that neither Reference Counting nor Mark-Sweep address the issue of Fragmentation. Fragmentation causes formation of holes in heap increases the task of allocator which has to find a sufficiently large hole to accomodate each object. It is worth mentioning that a separate class of Garbage Collection Algorithms exist, known as Copying Collectors, which incorporate fragmentation into the program. Essentially these copying collectors divide the heap into two equal halves. Unlike other algorithms where garbage objects are reclaimed, this algorithm picks all the reachable objects and copies them into the other half. The role of each half is flipped after every such copying operation. Although there exist variation of Mark-Sweep (Mark-Compact) which address this issue, such variations are very costly since they require multiple passes over the entire memory space. This makes them even slower than basic Mark-Sweep which itself is slow to beginwith. In the implementation stage, opting to do a simulation was not a matter of choice, since any modern programming language which contains libraries for Remote Procedure Calls, comes preloaded with Distributed Garbage Collection algorithms. The JAVA RMI library comes pre-equipped with distributed reference counting. A remote object can implement the java.rmi.server.Unreferenced interface and get a notification via the unreferenced method when there are no longer any clients holding a live reference. However in our implementation we have not implemented the Unreferenced interface. We have encountered some problems in exporting multiple remote objects from a single server using java RMI. Although a client can connect to different objects lying in different nodes, there seems to be some problem with a single server exporting multiple distinct objects to its clients. When tried, all the clients seem to connect to only the first object that was exported. One can look into the above issues to make the basic model shown in the diagram earlier more generic.

References
[1] A Construction of Distributed Reference Counting [Mureau-Dupreat, 99] [2] Distributed Garbage Collection using Reference Counting [D I Bevan] [3] Global Mark and Sweep on Parallel Computers [Yamamoto-Taura, 98]

Similar Documents

Free Essay

Os Concepts

...Memory Management in Mac OS Memory Management in Mac OS Mindfire Solutions www.mindfiresolutions.com March 6, 2002 Abstract: This paper discusses memory management by macintosh operating system. This paper is a summarized form of “Inside Macintosh: Memory” and is directed towards developers who are new to Mac development but had previous development experience on other operating system. After going through this article you will be familiar with memory architecture in Mac, ways to allocate and deallocate memory, using temporary memory, A5 world, heap management, heap zones, heap fragmentation and several other features provided by memory manager. MEMORY MANAGEMENT IN MAC OS.................................................................. 1 ORGANIZATION OF MEMORY IN MAC OS ......................................................... 3 The System Heap ..................................................................................................... 4 The System Global Variables................................................................................... 4 ORGANIZATION OF MEMORY IN AN APPLICATION PARTITION 1...................................... 4 The Application Stack 1........................................................................................... 6 The Application Heap 1........................................................................................... 6 The Application Global Variables and A5 World 1 .................................................

Words: 9576 - Pages: 39

Free Essay

Data Flow Graph Automation Using C-Atlas

...Abstract—This paper addresses the topic of methods for producing inter procedural static data flow graphs. The method used in this paper is a sort of progressive mining approach: A start location for the data flow edges is outlined, and through multiple iterations, the forward data flow step operation is taken on the universe, until no new paths have been found. I. INTRODUCTION New tools often provide novel approaches to longstanding problems. In the next update of C-Atlas, Ensoft intends to update the capabilities of C-Atlas. These improvements are intended to provide a customizable approach to evaluating a program’s design, structure, and security. Such an update seeks to address any number of problems. Analyzing a C program’s memory management is one such problem. This project would seek to use C-Atlas to better analyze C memory management. In memory leak (memory management) analysis, the user must show that for every path forward from an variable’s allocation, there exists at least one deallocation site for that variable. This task is trivial, unless the variable’s allocation and deallocation(s) are separated by a vast field of possible control flow. C-Atlas offers a flexible interface for data flow graph generation as a solution to this problem. Through this interface, one may then produce connected data flow graphs, allowing a single variable’s path to be traced through multiple functions. This visual aide can greatly increase the time efficiency of performing memory...

Words: 877 - Pages: 4

Premium Essay

Practical Verification & Safeguard Tools for C/C++

...P ra c t i c a l ve ri f i c a t i o n & s a fe g u a rd tools for C/C++ F Michaud . R. Carbone DRDC Valcartier Defence R&D Canada – Valcartier Technical Report DRDC Valcartier TR 2006-735 November 2007 Practical verification & safeguard tools for C/C++ F. Michaud R. Carbone DRDC Valcartier DRDC Valcartier Technical Report DRDC Valcartier TR 2006-735 November 2007 Principal Author Approved by Yves van Chestein Head/IKM Approved for release by Christian Carrier Chief Scientist c Her Majesty the Queen in Right of Canada as represented by the Minister of National Defence, 2007 c Sa Majest´ la Reine (en droit du Canada), telle que repr´sent´e par le ministre de la e e e D´fense nationale, 2007 e Abstract This document is the final report of an activity that took place in 2005-2006. The goal of this project was first to identify common software defects related to the use of the C and C++ programming languages. Errors and vulnerabilities created by these defects were also investigated, so that meaningful test cases could be created for the evaluation of best-ofbreed automatic verification tools. Finally, when relevant, best practices were inferred from our experiments with these tools. ´ ´ Resume Ce document est le rapport final d’un projet de recherche qui a eu lieu en 2005-2006. Le but de ce projet ´tait avant tout d’identifier les d´fauts logiciels courants li´s ` l’utilisation des e e e a langages de programmation C et C++. Les erreurs et vuln´rabilit´s...

Words: 22394 - Pages: 90

Premium Essay

Memory Management: Early Systems

...Cst 1215 OS_HW_Ch. 2_2015.02.07 1. Explain the fundamental differences between internal fragmentation and external fragmentation. For each of the four memory management systems explained in this chapter (single user, fixed, dynamic, and relocatable dynamic), identify which one causes each type of fragmentation. 1A. Internal fragmentation is the area occupied by a process but cannot be used by the process. This space is unusable by the system until the process release the space. External fragmentation exists when total free memory is enough for the new process but it's not contiguous and can't satisfy the request. Storage is fragmented into small holes. 1B. Single-User Contiguous Scheme: Program is loaded in its entirety into memory and allocated as much contiguous space in memory as it needs. Jobs processed sequentially in single-user systems Requires minimal work by the Memory Manager Register to store the base address Accumulator to keep track of the program size Disadvantages of Single-User Contiguous Scheme: Doesn’t support multiprogramming not cost effective Fixed Partitions: Main memory is partitioned; one partition/job. Allows multiprogramming Partition sizes remain static unless and until computer system id shutdown, reconfigured, and restarted requires protection of the job’s memory space requires matching job size with partition size Disadvantages: Requires entire program to be stored contiguously Jobs are allocated space on the basis of first available...

Words: 846 - Pages: 4

Free Essay

Database Comparison

...has been given. History. The Microsoft SQl Server was initially released in the year 1989, and major improvements have been done o it since then. On the hand, the Oracle database was released in the year 1980. Both databases use the c++ language to carry out their operations which in turn makes them compatible with a lot of computing devices. However, Oracle uses C language as well. Microsoft SQL is widely used in Windows operating systems while on the other hand, Oracle is used in OS X, AIX, Linux, Windows, z/OS and Solaris operating systems which clearly makes it the widely used database (Bryla & Loney, 2013) As well, the partitioning in Microsoft SQL is done by the use of tables which can be distributed over several files in a horizontal manner and sharing is done through federation. In the case of Oracle, the type of partitioning done is...

Words: 2480 - Pages: 10

Free Essay

Moblie Devices

...the real (memory) cost of what you create. Therefore always measure. It's also very important to test on devices because the emulator or simulator will not provide an accurate representation of a device this article will delve into some of the best practices for effectively using memory and provide tips to help achieve high performance. IOS and OS X users can use Apple Instruments to get accurate memory measurements of their applications, whereas Android users have the Android Device Manager at their disposal. Managed languages make use of garbage collection to reclaim memory that is allocated to objects that are no longer in use. There are two garbage collectors available with Xamarin.iOS (Xamarin.Android only has SGen): •Boehm – This is a non-generational garbage collector. It is the default garbage collector used in Xamarin.iOS. When garbage collection occurs, the entire heap will be collected. •SGen – This is a generational garbage collector and should be preferred over Boehm. This is because SGen, compared to Boehm, performs...

Words: 453 - Pages: 2

Free Essay

Moblie Devices

...the real (memory) cost of what you create. Therefore always measure. It's also very important to test on devices because the emulator or simulator will not provide an accurate representation of a device this article will delve into some of the best practices for effectively using memory and provide tips to help achieve high performance. IOS and OS X users can use Apple Instruments to get accurate memory measurements of their applications, whereas Android users have the Android Device Manager at their disposal. Managed languages make use of garbage collection to reclaim memory that is allocated to objects that are no longer in use. There are two garbage collectors available with Xamarin.iOS (Xamarin.Android only has SGen): •Boehm – This is a non-generational garbage collector. It is the default garbage collector used in Xamarin.iOS. When garbage collection occurs, the entire heap will be collected. •SGen – This is a generational garbage collector and should be preferred over Boehm. This is because SGen, compared to Boehm, performs...

Words: 453 - Pages: 2

Premium Essay

Csr of Akij Group

...Corporate Social Responsibility Of AKIJ Group of Industries Course Code: BUS 101 Course Title: Introduction to Business Submitted To: Ms.Rumana Afroze Senior Lecturer Dept. of Business Administration East West University Submitted By: Group name- United S/l | NAME | ID | 1 | Md. Sayedur Rahman Bhuiyan | 2013-2-10-187 | 2 | Nafiur Rahman Khan | 2013-2-10-183 | 3 | Alema Rahim Sadabi | 2013-2-40-039 | 4 | Hazera Israil Sumaiya | 2013-2-40-038 | 5 | Sabiha Afrin | 2013-2-40-041 | Date of Submission: 16th July 2013 LETTER OF TRANSMITTAL 16th July 2013. Ms. RUMANA AFROZE Senior Lecturer, Department of Business Administration East West University Dhaka. Dear Madam, We are pleased to inform you that the Corporate Social Responsibility report you assigned for 11th June 2013 has been completed. We have chosen Akij Group which one is the manufacturing organization as a topic of report. This report as per your instruction has covered all the authentic areas of concern and contains all the relevant information about the company’s history, vision, mission, goal, social responsibility for our country. We would dearly like to thank you for the faith you showed in our capabilities & the encouragement you gave us when assigning us the report. In this report you will experience concise idea about this report in the executive summary attached. We have tried our best to gather as much information as possible. All rules and regulation...

Words: 3419 - Pages: 14

Free Essay

Write Endurance in Flash Drives

...Write Endurance in Flash Drives: Measurements and Analysis Simona Boboila Northeastern University 360 Huntington Ave. Boston, MA 02115 simona@ccs.neu.edu Peter Desnoyers Northeastern University 360 Huntington Ave. Boston, MA 02115 pjd@ccs.neu.edu Abstract We examine the write endurance of USB flash drives using a range of approaches: chip-level measurements, reverse engineering, timing analysis, whole-device endurance testing, and simulation. The focus of our investigation is not only measured endurance, but underlying factors at the level of chips and algorithms—both typical and ideal—which determine the endurance of a device. Our chip-level measurements show endurance far in excess of nominal values quoted by manufacturers, by a factor of as much as 100. We reverse engineer specifics of the Flash Translation Layers (FTLs) used by several devices, and find a close correlation between measured whole-device endurance and predictions from reverse-engineered FTL parameters and measured chip endurance values. We present methods based on analysis of operation latency which provide a non-intrusive mechanism for determining FTL parameters. Finally we present Monte Carlo simulation results giving numerical bounds on endurance achievable by any on-line algorithm in the face of arbitrary or malicious access patterns. 1 Introduction In recent years flash memory has entered widespread use, in embedded media players, photography, portable drives, and solid-state disks (SSDs) for...

Words: 11031 - Pages: 45

Premium Essay

Recycling Helps Reduce Global Warming

...grandchildren couldn’t enjoy this in the future. According to WN.com, the United States generates HALF of the world's garbage each year, which equals about 250 million tons of waste, with only 30% being recycling. That is a huge impact on the ecosystem and the effects it produces towards global warming. It’s astounding that the USA can contribute so much, but take into account, we are a wasteful society. The good news is, this can and should be changed by simply increasing our efforts individually to reduce the waste. Instead of people polluting the earth, what we could do is make recycling mandatory by putting taxes on the volume of rubbish householders put out for the sanitation workers to collect. This in turn will make people want to recycle and act as an incentive to dispose of anything recyclable at recycling point for which they do not have to pay. This would encourage people to want to recycle and save money for other necessities. In many other countries they do recycle, such as Europe. In Switzerland the Swiss Federal Railways (SBB) collect there rubbishes to recycle. SBB recycles 2.5 million plastic bottles, weighing 65,000 kg, 2 million aluminum cans, weighing 29,000 kg, and nearly 1 million glass bottles, weighing 190 tons. In England the Household Waste Recycling Act requires local authorities to provide every household with a separate collection of at least two types of recyclable material. There are a few things that we can do to help reduce this and some facts...

Words: 1031 - Pages: 5

Premium Essay

Waste Management

... | | |Title: Creative Ways of Managing Garbage for a typical Filipino | | | | | |Project Summary: This project is an advocacy to raise awareness among the young Filipino | | |generation about the importance of managing garbage and to move them to act and find ways to help| | |through creative ways managing their garbage mostly through recycling and re-use of their | | |personal resources. | | | | | |MMCOMRE Term/SY: 2nd Term, 2013 | *To be evaluated by the MMCOMRE/MMRECON teacher. I. Background Defintion Here is a brief definition basically of what garbage disposal is on a wider point: “Waste management is the...

Words: 2823 - Pages: 12

Free Essay

Gfs Using Soap

...File System, a scalable distributed file system for large distributed data-intensive applications. It provides fault tolerance while running on inexpensive commodity hardware, and it delivers high aggregate performance to a large number of clients. While sharing many of the same goals as previous distributed file systems, our design has been driven by observations of our application workloads and technological environment, both current and anticipated, that reflect a marked departure from some earlier file system assumptions. This has led us to reexamine traditional choices and explore radically different design points. The file system has successfully met our storage needs. It is widely deployed within Google as the storage platform for the generation and processing of data used by our service as well as research and development efforts that require large data sets. The largest cluster to date provides hundreds of terabytes of storage across thousands of disks on over a thousand machines, and it is concurrently accessed by hundreds of clients. In this paper, we present file system interface extensions designed to support distributed applications, discuss many aspects of our design, and report measurements from both micro-benchmarks and real world use. We have designed and implemented the Google File System (GFS) to meet the rapidly growing demands of Google’s data processing needs. GFS shares many of the same goals as previous distributed file systems such as performance...

Words: 14789 - Pages: 60

Free Essay

Bmw Strategic Plan

...Develop a marketing plan for the archipelago of Langkawi Vision: Be the leading tourism destination in the Island development in terms of physical development, infrastructure. Mission: Island Developing structured and directed to become a tourist destination leading to benefit maximum to the people The Objectives 1. To be leading the socio-economic development, infrastructure and development centre of tourism products. 2. Provide investment opportunities for develop economic and tourism sectors. 3. Encourage community participation in activities socio-economic and cultural. 4. Promote Langkawi as a tourist destination internationally and tax-free area. 5.  Increase the income of sellers in Langkawi. 6.  Create business opportunities in Langkawi. 7. Provide comfort to visitors. (C.T, 2008) Development Strategy: 1. Promote social development, economic and physical. 2. Create development scenarios that are consistent and harmony with the unique features of the local. 3. Try to move away from low productive sectors  to high productivity sectors. 4. Prepare and create opportunities to attract large number of investors according to the source and tourism products. 5. Strengthen the resilience of tourism in Langkawi. 6.  Diversify the tourism product in Langkawi 7. Provide employment opportunities to residents 8. Increasing Comfort To Tourists and Local Residents  9. Trails Facility (PKA) and Street...

Words: 848 - Pages: 4

Premium Essay

U1Ra1 - Exploring Programming Languages

...Shannon Sarratt June 24, 2014 PT1420 Unit 1, Research Assignment 1: Exploring Programming Languages 1970’s: 1. C- created by Dennis Ritchie in 1972. It was designed to be compiled using a relatively straightforward compiler, to provide low-level access to memory, to provide language constructs that map efficiently to machine instructions, and to require minimal run-time support 2. SQL- Designed by Donald D. Chamberlin and Raymond F. Boyce in 1974. It was designed to manipulate and retrieve data stored in IBM's original quasi-relational database management system, System R, which a group at IBM San Jose Research Laboratory had developed during the 1970s. 3. Scheme- Developed by Guy L. Steele and Gerald Jay Sussman in 1975. Scheme started as an attempt to understand Carl Hewitt's Actor model, for which purpose Steele and Sussman wrote a "tiny Lisp interpreter" using Maclisp and then "added mechanisms for creating actors and sending messages. 4. Smalltalk- Designed by Alan Kay, Dan Ingalls, and Adelle Goldberg in 1972. The first version, known as Smalltalk-71, was created by Ingalls in a few mornings on a bet that a programming language based on the idea of message passing inspired by Simula could be implemented in "a page of code." 5. Prolog- Designed by Alain Colmerauer in 1972. Its intended field of use was natural language processing. 1980’s: 1. C++- Designed by Bjarne Stroustrup in 1983. The motivation for creating a new language originated from...

Words: 747 - Pages: 3

Free Essay

Islamic Banking

...LOCAL AGENDA 21: MALAYSIA INTRODUCTION Local Agenda 21 (LA21) is a programme to forge partnership between Local Authority, private sector sector and the local communities that serve to work together, to plan and care for their surroundings towards sustainable development. The programme is based on Agenda 21 which is global action plan towards development for 21st Century resulting from Earth Summit at Rio De Janeiro, Brazil in June 1992. THE OBJECTIVES OF LOCAL AGENDA 21 PROGRAMME 1. To expose the local community and private sectors to the sustainable development issues. 2. To clarify the roles of sustainable development are our responsibility. 3. To conclude that the strategies and LA21 action plans are based on local sustainabledevelopment issues. 4. To implement the LA21 action plan in the form of sustainable development projects. LOCA L AGENDA 21 IN MALAYSIA The pilot programme aims at promoting sustainable development at the local level by creatingand strengthening participation between local authorities, local communities and the privatesector. Four councils were selected from both the urban and rural sector: Urban Sector Petaling Jaya Muncipal Council,Miri Municipal CouncilKuantan Municipal Council. Rural Sector Kerian District Council ANALYSING MALAYSIA L A 21 There are 5 elements in Malaysia LA21 project: 1.Formation of Partnership 2.Community based Issues Analysis 3.Action Plan 4.Implementation...

Words: 821 - Pages: 4