G. Agosta, S. Crespi-Reghizzi, P. Palumbo, M. Sykora
Modern Java Virtual Machines (JVM) commonly adopt Just-In-Time (JIT) compilation to speed up the execution of Java Bytecode. However, the effort of compiling a region of code is only worth if the code is frequently executed. Therefore, Selective Compilation is employed so that the JIT compiler is only invoked on those regions of code where most of the computation is performed (hot spots). The core task in Selective Compilation is to correctly identify the hot spots in a program. In our SeleKaffe prototype virtual machine, we introduce two heuristics aimed at detecting hot spots both statically, via bytecode analysis, and dynamically, via profiling information. Experimental results on a representative set of benchmarks show that our method selection strategy is more accurate than known strategies, and not significantly slower.
{"title":"Selective compilation via fast code analysis and bytecode tracing","authors":"G. Agosta, S. Crespi-Reghizzi, P. Palumbo, M. Sykora","doi":"10.1145/1141277.1141488","DOIUrl":"https://doi.org/10.1145/1141277.1141488","url":null,"abstract":"Modern Java Virtual Machines (JVM) commonly adopt Just-In-Time (JIT) compilation to speed up the execution of Java Bytecode. However, the effort of compiling a region of code is only worth if the code is frequently executed. Therefore, Selective Compilation is employed so that the JIT compiler is only invoked on those regions of code where most of the computation is performed (hot spots). The core task in Selective Compilation is to correctly identify the hot spots in a program. In our SeleKaffe prototype virtual machine, we introduce two heuristics aimed at detecting hot spots both statically, via bytecode analysis, and dynamically, via profiling information. Experimental results on a representative set of benchmarks show that our method selection strategy is more accurate than known strategies, and not significantly slower.","PeriodicalId":269830,"journal":{"name":"Proceedings of the 2006 ACM symposium on Applied computing","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2006-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126232544","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A formal specification of the purchase phase in the SET protocol (Secure Electronic Transaction), an e-commerce protocol by Visa and MasterCard, is presented. It is modelled by means of a True Concurrency Timed Process Algebra called BTC which takes into account that the (limited amount of) available resources in a system have to be shared by all the processes. We have considered heterogeneous resources and we extend the algebra with the intention of representing the actions which use the shared resources and how many resources of each type the system has at its disposal.
{"title":"Analysis of the SET e-commerce protocol using a true concurrency process algebra","authors":"M. Ruiz, D. Cazorla, F. Cuartero, J. J. Pardo","doi":"10.1145/1141277.1141480","DOIUrl":"https://doi.org/10.1145/1141277.1141480","url":null,"abstract":"A formal specification of the purchase phase in the SET protocol (Secure Electronic Transaction), an e-commerce protocol by Visa and MasterCard, is presented. It is modelled by means of a True Concurrency Timed Process Algebra called BTC which takes into account that the (limited amount of) available resources in a system have to be shared by all the processes. We have considered heterogeneous resources and we extend the algebra with the intention of representing the actions which use the shared resources and how many resources of each type the system has at its disposal.","PeriodicalId":269830,"journal":{"name":"Proceedings of the 2006 ACM symposium on Applied computing","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2006-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126570480","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Collaborative filtering requires a centralized rating database. However, within a peer-to-peer network such a centralized database is not readily available. In this paper, we propose a fully distributed collaborative filtering method that is self-organizing and operates in a distributed way. Similarity ranks between multimedia files (items) are calculated by log-based user profiles and are stored locally at these items in so-called buddy tables. This intuitively creates a semantic overlay to organize multimedia files. Based on this semantic overlay and the items that a user has downloaded previously (indicating the profile of the user), recommendations can be performed and the recommended items can be easily located. We have tested our distributed collaborative filtering approach and compared it to centralized collaborative filtering, showing that it has similar performance. It is therefore a promising technique to facilitate filtering for relevant multimedia data in P2P networks.
{"title":"Distributed collaborative filtering for peer-to-peer file sharing systems","authors":"Jun Wang, J. Pouwelse, R. Lagendijk, M. Reinders","doi":"10.1145/1141277.1141522","DOIUrl":"https://doi.org/10.1145/1141277.1141522","url":null,"abstract":"Collaborative filtering requires a centralized rating database. However, within a peer-to-peer network such a centralized database is not readily available. In this paper, we propose a fully distributed collaborative filtering method that is self-organizing and operates in a distributed way. Similarity ranks between multimedia files (items) are calculated by log-based user profiles and are stored locally at these items in so-called buddy tables. This intuitively creates a semantic overlay to organize multimedia files. Based on this semantic overlay and the items that a user has downloaded previously (indicating the profile of the user), recommendations can be performed and the recommended items can be easily located. We have tested our distributed collaborative filtering approach and compared it to centralized collaborative filtering, showing that it has similar performance. It is therefore a promising technique to facilitate filtering for relevant multimedia data in P2P networks.","PeriodicalId":269830,"journal":{"name":"Proceedings of the 2006 ACM symposium on Applied computing","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2006-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134196893","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Handheld mobile devices with wireless capability are gaining popularity. SOAP is a text-based protocol for Web services, but it has high overhead and its suitability for resource-constrained devices over wireless networks needs to be reevaluated. SOAP uses HTTP; HTTP in turn uses TCP as the underlying transport protocol for transmitting messages. However, TCP has a high overhead and high network latency. In this paper, a benchmark of the performance of different underlying transport protocols for SOAP is reported. We show that SOAP-over-HTTP and SOAP-over-TCP are inefficient and lead to high latency and transmission overhead for wireless networks. The results also show that SOAP-over-UDP provides much higher throughput compared to SOAP-over-HTTP.
{"title":"A benchmark on soap's transport protocols performance for mobile applications","authors":"T. Phan, Z. Tari, P. Bertók","doi":"10.1145/1141277.1141548","DOIUrl":"https://doi.org/10.1145/1141277.1141548","url":null,"abstract":"Handheld mobile devices with wireless capability are gaining popularity. SOAP is a text-based protocol for Web services, but it has high overhead and its suitability for resource-constrained devices over wireless networks needs to be reevaluated. SOAP uses HTTP; HTTP in turn uses TCP as the underlying transport protocol for transmitting messages. However, TCP has a high overhead and high network latency. In this paper, a benchmark of the performance of different underlying transport protocols for SOAP is reported. We show that SOAP-over-HTTP and SOAP-over-TCP are inefficient and lead to high latency and transmission overhead for wireless networks. The results also show that SOAP-over-UDP provides much higher throughput compared to SOAP-over-HTTP.","PeriodicalId":269830,"journal":{"name":"Proceedings of the 2006 ACM symposium on Applied computing","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2006-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134262245","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Xiaoqing Wu, B. Bryant, Jeffrey G. Gray, Suman Roychoudhury, M. Mernik
A major difficulty in compiler development regards the proper modularization of concerns among the various compiler phases. The traditional object-oriented development paradigm has difficulty in providing an optimal solution towards modularizing the analysis phases of compiler development, because implementation of each phase often crosscuts the class hierarchy defined by language syntax constructs. Object-oriented design patterns, such as the Visitor pattern, also cannot solve the crosscutting problem adequately because an object is not a natural representation of a collection of operations. This paper demonstrates the benefits of applying aspect-oriented programming languages (e.g., AspectJ) and principles to compiler design and implementation. The experience result shows that the various language constructs in AspectJ (e.g., inter-type declaration, pointcut-advice model, static aspect members and aspect inheritance) fit well with the various computation needs of compiler development, which results in a compiler implementation with improved modularity and better separation of concerns. The ideas utilized in this paper can also be generalized to other software systems with a tree-like structure.
{"title":"Separation of concerns in compiler development using aspect-orientation","authors":"Xiaoqing Wu, B. Bryant, Jeffrey G. Gray, Suman Roychoudhury, M. Mernik","doi":"10.1145/1141277.1141646","DOIUrl":"https://doi.org/10.1145/1141277.1141646","url":null,"abstract":"A major difficulty in compiler development regards the proper modularization of concerns among the various compiler phases. The traditional object-oriented development paradigm has difficulty in providing an optimal solution towards modularizing the analysis phases of compiler development, because implementation of each phase often crosscuts the class hierarchy defined by language syntax constructs. Object-oriented design patterns, such as the Visitor pattern, also cannot solve the crosscutting problem adequately because an object is not a natural representation of a collection of operations. This paper demonstrates the benefits of applying aspect-oriented programming languages (e.g., AspectJ) and principles to compiler design and implementation. The experience result shows that the various language constructs in AspectJ (e.g., inter-type declaration, pointcut-advice model, static aspect members and aspect inheritance) fit well with the various computation needs of compiler development, which results in a compiler implementation with improved modularity and better separation of concerns. The ideas utilized in this paper can also be generalized to other software systems with a tree-like structure.","PeriodicalId":269830,"journal":{"name":"Proceedings of the 2006 ACM symposium on Applied computing","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2006-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131478341","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Many embedded systems are designed to take timely reactions to the occurrences of interested scenarios. Sometimes transient overloads might be experienced due to hardware malfunctions or workload bursts. Thus a mechanism to focus system attention on urgent events could be a key to provide reasonably stable service. In this paper, we propose a new approach for workload scaling in uniprocessor real-time embedded systems. A deterministic algorithm is adopted to selectively fed hardware events into a system, and an event-driven task model is introduced to formulate complex precedence constraints among tasks. Such a new approach removes the need for the adjustments of task periods and task phasing, which is crucial for many time-driven systems. The proposed approach was implemented in a real-time surveillance system, for which good accuracy and responsiveness were obtained under stressing workloads.
{"title":"Event-driven scheduling for dynamic workload scaling in uniprocessor embedded systems","authors":"Li-Pin Chang","doi":"10.1145/1141277.1141618","DOIUrl":"https://doi.org/10.1145/1141277.1141618","url":null,"abstract":"Many embedded systems are designed to take timely reactions to the occurrences of interested scenarios. Sometimes transient overloads might be experienced due to hardware malfunctions or workload bursts. Thus a mechanism to focus system attention on urgent events could be a key to provide reasonably stable service. In this paper, we propose a new approach for workload scaling in uniprocessor real-time embedded systems. A deterministic algorithm is adopted to selectively fed hardware events into a system, and an event-driven task model is introduced to formulate complex precedence constraints among tasks. Such a new approach removes the need for the adjustments of task periods and task phasing, which is crucial for many time-driven systems. The proposed approach was implemented in a real-time surveillance system, for which good accuracy and responsiveness were obtained under stressing workloads.","PeriodicalId":269830,"journal":{"name":"Proceedings of the 2006 ACM symposium on Applied computing","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2006-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131507823","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
K. Geihs, Mohammad Ullah Khan, R. Reichle, Arnor Solberg, Svein O. Hallsteinsen, Simon Merral
A challenge in distributed system design is to cope with the dynamic nature of the execution environment. In this paper, we present an approach for modeling adaptation of component based distributed applications. The approach supports component-based design of different variants of the applications, and a framework for selecting proper variants based on the current state of the execution environment and the user preferences. XML is used as the specification language. Transformation of the XML based design specifications to programming languages like Java is also discussed.
{"title":"Modeling of component-based adaptive distributed applications","authors":"K. Geihs, Mohammad Ullah Khan, R. Reichle, Arnor Solberg, Svein O. Hallsteinsen, Simon Merral","doi":"10.1145/1141277.1141440","DOIUrl":"https://doi.org/10.1145/1141277.1141440","url":null,"abstract":"A challenge in distributed system design is to cope with the dynamic nature of the execution environment. In this paper, we present an approach for modeling adaptation of component based distributed applications. The approach supports component-based design of different variants of the applications, and a framework for selecting proper variants based on the current state of the execution environment and the user preferences. XML is used as the specification language. Transformation of the XML based design specifications to programming languages like Java is also discussed.","PeriodicalId":269830,"journal":{"name":"Proceedings of the 2006 ACM symposium on Applied computing","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2006-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131718772","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Information Retrieval (IR) aims at modelling, designing and implementing systems able to provide fast and effective content-based access to a large amount of information. Information can be of any kind: textual, visual, or auditory. The aim of such systems is to estimate the relevance of documents to a user information need. This is a very hard and complex task for many different reasons that a large volume of research has attempted to explain and tackle. Nowadays, research in information retrieval is central to the design and development of advanced information access technologies and spans a number of research topics including document modelling, document classification and categorization, system architecture, user interfaces, data visualisation, languages, topic detection, etc.
{"title":"Editorial message: special track on information access and retrieval","authors":"Fabio Crestani, Gabriella Pasi","doi":"10.1145/1141277.1141520","DOIUrl":"https://doi.org/10.1145/1141277.1141520","url":null,"abstract":"Information Retrieval (IR) aims at modelling, designing and implementing systems able to provide fast and effective content-based access to a large amount of information. Information can be of any kind: textual, visual, or auditory. The aim of such systems is to estimate the relevance of documents to a user information need. This is a very hard and complex task for many different reasons that a large volume of research has attempted to explain and tackle. Nowadays, research in information retrieval is central to the design and development of advanced information access technologies and spans a number of research topics including document modelling, document classification and categorization, system architecture, user interfaces, data visualisation, languages, topic detection, etc.","PeriodicalId":269830,"journal":{"name":"Proceedings of the 2006 ACM symposium on Applied computing","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2006-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132607158","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Model transformations in MDA mostly aim at stepping from a Platform Independent Model (PIM) to a Platform Specific Model (PSM) from a functional viewpoint. In order to develop high quality software products, non-functional attributes (such as performance) must be taken into account. In this paper we extend the canonical view of the MDA approach to embed additional types of models that allow to structure a Model Driven approach keeping into account performance issues. We define the relationships between MDA typical models and the newly introduced models, as well as relationships among the latter ones. In this extended framework new types of model-to-model transformations also need to be devised. We place an existing methodology for transforming software models into performance models within the scope of this framework.
{"title":"Software performance model-driven architecture","authors":"V. Cortellessa, A. Marco, P. Inverardi","doi":"10.1145/1141277.1141565","DOIUrl":"https://doi.org/10.1145/1141277.1141565","url":null,"abstract":"Model transformations in MDA mostly aim at stepping from a Platform Independent Model (PIM) to a Platform Specific Model (PSM) from a functional viewpoint. In order to develop high quality software products, non-functional attributes (such as performance) must be taken into account. In this paper we extend the canonical view of the MDA approach to embed additional types of models that allow to structure a Model Driven approach keeping into account performance issues. We define the relationships between MDA typical models and the newly introduced models, as well as relationships among the latter ones. In this extended framework new types of model-to-model transformations also need to be devised. We place an existing methodology for transforming software models into performance models within the scope of this framework.","PeriodicalId":269830,"journal":{"name":"Proceedings of the 2006 ACM symposium on Applied computing","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2006-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132623039","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Although there are many real-time task synchronization protocols designed for uniprocessor and multiprocessor systems, most of them do not fit the needs in accommodating simultaneous multithreading (SMT). Real-time synchronization protocols are expected to bound the maximum number of priority inversions and to meet task deadlines. Synchronization protocols for simultaneous processing need to explore the possibility in executing multiple tasks at the same time to increase the system concurrency level to utilize the abundant computing resources, of simultaneous multithreading computer systems. This work proposes the concept of "LP-Time Inheritance" to manage the period of blocking time without significantly decreasing the level of task parallelism. The schedulability tests for the proposed protocol are also presented.
{"title":"Data sharing protocols for SMT processors","authors":"Shi-Wu Lo","doi":"10.1145/1141277.1141485","DOIUrl":"https://doi.org/10.1145/1141277.1141485","url":null,"abstract":"Although there are many real-time task synchronization protocols designed for uniprocessor and multiprocessor systems, most of them do not fit the needs in accommodating simultaneous multithreading (SMT). Real-time synchronization protocols are expected to bound the maximum number of priority inversions and to meet task deadlines. Synchronization protocols for simultaneous processing need to explore the possibility in executing multiple tasks at the same time to increase the system concurrency level to utilize the abundant computing resources, of simultaneous multithreading computer systems. This work proposes the concept of \"LP-Time Inheritance\" to manage the period of blocking time without significantly decreasing the level of task parallelism. The schedulability tests for the proposed protocol are also presented.","PeriodicalId":269830,"journal":{"name":"Proceedings of the 2006 ACM symposium on Applied computing","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2006-04-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130732289","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}