940 research outputs found

    An Empirical Investigation of Four Strategies for Serializing Schedules in Transaction Processing

    Get PDF
    A database management system (DBMS) is a very large program that allows users to create and maintain databases. A DBMS has many capabilities. This study will focus on the capability known as transaction management, the capability to provide correct, concurrent access to the database by many users at the same time. If a DBMS did not provide transaction management, livelocks, deadlocks, and non-serializable schedules could occur. A livelock can occur when a transaction is waiting on a locked data item, and another transaction appears. After the data item is unlocked, the second transaction locks the data item, which causes the first transaction to continue waiting. Conceivably, the first transaction could wait indefinitely to lock the data item. This situation is called livelock. Deadlock is a situation in which each member of a set of two or more transactions is waiting to lock an item currently locked by some other transaction in the set. None of the transactions can proceed, so they all wait indefinitely. A schedule is serial if for every pair of transactions, all of the operations of one transaction execute before any of the operations of the other transaction. A schedule is serializable if its effect on the database is the same as some serial execution of the same set of transactions. A schedule is nonserializable if its effect on the database is not equivalent to that of any serial schedule which processes the same transactions. The scheduler is a component of the DBMS, and it is responsible for resolving any livelocks, deadlocks, or non-serializable schedules that occur. This study looks specifically at non-serializable schedules. There are many methods by which the scheduler can serialize non-serializable schedules. This study proposes and examines four strategies to detect and resolve non-serializable schedules. Computer simulation is used to examine the four strategies. These strategies reduce a nonserializable schedule to a serializable or a serial schedule, thus eliminating the possibility of incorrectly updating data items within a database. It is shown experimentally that, of the four strategies, the one that delays the transaction which has executed the least number of steps until non-serializability is detected is the best

    A speculative execution approach to provide semantically aware contention management for concurrent systems

    Get PDF
    PhD ThesisMost modern platforms offer ample potention for parallel execution of concurrent programs yet concurrency control is required to exploit parallelism while maintaining program correctness. Pessimistic con- currency control featuring blocking synchronization and mutual ex- clusion, has given way to transactional memory, which allows the composition of concurrent code in a manner more intuitive for the application programmer. An important component in any transactional memory technique however is the policy for resolving conflicts on shared data, commonly referred to as the contention management policy. In this thesis, a Universal Construction is described which provides contention management for software transactional memory. The technique differs from existing approaches given that multiple execution paths are explored speculatively and in parallel. In the resolution of conflicts by state space exploration, we demonstrate that both concur- rent conflicts and semantic conflicts can be solved, promoting multi- threaded program progression. We de ne a model of computation called Many Systems, which defines the execution of concurrent threads as a state space management problem. An implementation is then presented based on concepts from the model, and we extend the implementation to incorporate nested transactions. Results are provided which compare the performance of our approach with an established contention management policy, under varying degrees of concurrent and semantic conflicts. Finally, we provide performance results from a number of search strategies, when nested transactions are introduced

    A Lightweight and Flexible Mobile Agent Platform Tailored to Management Applications

    Full text link
    Mobile Agents (MAs) represent a distributed computing technology that promises to address the scalability problems of centralized network management. A critical issue that will affect the wider adoption of MA paradigm in management applications is the development of MA Platforms (MAPs) expressly oriented to distributed management. However, most of available platforms impose considerable burden on network and system resources and also lack of essential functionality. In this paper, we discuss the design considerations and implementation details of a complete MAP research prototype that sufficiently addresses all the aforementioned issues. Our MAP has been implemented in Java and tailored for network and systems management applications.Comment: 7 pages, 5 figures; Proceedings of the 2006 Conference on Mobile Computing and Wireless Communications (MCWC'2006

    Email Information Concentrator

    Get PDF
    Elektronpost on üks edukamaid ja enamlevinud rakendusi arvutile, mis kunagi leiutatud. Tänapäeval seisame aga silmitsi üha suureneva info ülekoormuse probleemiga. Käesolev töö on osa teadmushalduse vallas tehtavast uurimistööst eesmärgiga info ülekoormuse probleemiga toime tulla. Töö tulemusena valmiski elektronposti informatsiooni koondaja. Viimase eesmärgiks on elektroonilise kirjakasti sisu allalaadimine ja kindlal viisil parsimine, luues näiteks vastava sisuga graafi või Prologi sisendlaused. Rakendus koosneb kahest osast: meilide kättetoimetamise agent ning kirjakasti parser. Mõlema abstraktse mooduli tarvis on loodud erinevaid teostusi. Olulisemad neist on asünkroonne meilide kättetoimetamise agent, parser kirjakasti sisust kindlaksmääratud omadustega graafi genereerimiseks ning parser elektroonilise postkasti sõnumite konverteerimiseks Prologi lauseteks. Programm on disainitud pidades silmas seda, et uusi realisatsioone oleks lihtne lisada ja liidestada olemasoleva rakendusega, kui vastav vajadus peaks kunagi tekkima. Elektronposti informatsiooni koondaja on kirjutatud programmeerimiskeeles Python. Lisaks kasutati ka järgmisi väliseid teeke: 1) Beautiful Soup - HTML sisu parsimiseks sõnumite sees; 2) NetworkX - emaili graafi loomiseks. Valminud arvutiprogramm suudab täita järgmisi ülesandeid: laadida alla elektrooniline kirjakast meiliserverist, kasutades turvalist IMAP protokolli (IMAP over SSL); leida sõnumite seest emaili päise elemendid ja manuste nimed; eraldada sõnumi sisust seal leiduvad üksikud sõnad, read ja tekstilõigud; genereerida postkasti sisu pealt vastav graaf. Lõigupiiride kindlakstegemiseks töötati välja spetsiaalselt selleks otstarbeks mõeldud lihtne heuristika. Mõeldi välja mudel, kuidas emaili graafina kujutada, püüdes vähendada seejuures andmeliiasust sõnumi osade graafis hoidmisel. Hetkel on rakenduse peamine kasutusala teadmushalduse alastes uurimisprojektides, kus selle abil saab pakkuda teistele tööriistadele sisendinfot. Ehkki valmis reaalselt töötav programm, saab seda oluliselt edasi arendada nii jõudluse kui ka lisavõimaluste poolelt. Prioriteetsemad tööd tuleviku jaoks on näiteks sünkroonse meilide kättetoimetamise agendi loomine osana elektronposti informatsiooni koondajast ning meilide ahelate tuvastamine ja kujutamine graafis. Need ülesanded jäävad tulevikku. Kokkuvõttes võib tööd pidada kordaläinuks, sest saadi valmis töötav rakendus, mida kasutatakse juba ka reaalselt projekti teistes harudes. Näen elektronposti informatsiooni koondajas suurt perspektiivi tuleviku jaoks, kui seda sihipäraselt edasi arendada.Email is one of the most successful and widely used computer applications yet devised. It has been around for decades and is used by individuals as well as organizations all over the globe. However, nowadays we are facing a growing message overload problem. This paper is a part of the corresponding research mainly located in an area called knowledge management with an aim to discover possibilities to handle this problem. As the main outcome of my Bachelor thesis, an application called Email Information Concentrator and a corresponding library were designed and developed. It consists of two abstract modules that operate separately: a mail delivery agent and a mailbox parser. Each abstract module has different implementations. For instance, two different parsers were implemented, one yielding a graph representation of the mailbox and the other corresponding Prolog statements. The program is designed to support new implementations for these modules if the need arises. Two external packages are also used, namely Beautiful Soup and NetworkX, for parsing HTML contents in messages and for the creation of email graphs correspondingly. My library includes tools that can extract message header fields defined by RFC 5322. In addition, it can also extract relevant word, line and paragraph information from the message body. A simple heuristic was developed for the extraction of paragraphs from text/plain and text/html messages. Also, I developed a model for representing an Email Graph. My idea is to keep only unique mail message data parts and create relations for the duplicates. This technique allows to reduce the data duplication. The output of the Email Information Concentrator can be used as an input for further research in related research projects. The Email Information Concentrator will be the base for further works in the information management for emails. Especially the Synchronous Delivery Agent will be one of the next steps. It could make the overall user experience much better and reduce the network load as it will download messages which were changed to since the last time as opposed to fetching the whole mailbox. In addition, reconstructing discussion threads remains a challenging but required task. Finally, many optimizations are still pending to speed up the handling of large-scale mailbox traffic. The Email Information Concentrator has already successfully established itself as an integral part of the knowledge managemant research. Other researchers are using it in their branches for importing and parsing mailboxes
    corecore