28 resultados para Parallel computing, Virtual machine, Composition, Determinism, Abstraction

em BORIS: Bern Open Repository and Information System - Berna - Suiça


Relevância:

100.00% 100.00%

Publicador:

Resumo:

To support development tools like debuggers, runtime systems need to provide a meta-programming interface to alter their semantics and access internal data. Reflective capabilities are typically fixed by the Virtual Machine (VM). Unanticipated reflective features must either be simulated by complex program transformations, or they require the development of a specially tailored VM. We propose a novel approach to behavioral reflection that eliminates the barrier between applications and the VM by manipulating an explicit tower of first-class interpreters. Pinocchio is a proof-of-concept implementation of our approach which enables radical changes to the interpretation of programs by explicitly instantiating subclasses of the base interpreter. We illustrate the design of Pinocchio through non-trivial examples that extend runtime semantics to support debugging, parallel debugging, and back-in-time object-flow debugging. Although performance is not yet addressed, we also discuss numerous opportunities for optimization, which we believe will lead to a practical approach to behavioral reflection.

Relevância:

100.00% 100.00%

Publicador:

Relevância:

100.00% 100.00%

Publicador:

Resumo:

After decades of development in programming languages and programming environments, Smalltalk is still one of few environments that provide advanced features and is still widely used in the industry. However, as Java became prevalent, the ability to call Java code from Smalltalk and vice versa becomes important. Traditional approaches to integrate the Java and Smalltalk languages are through low-level communication between separate Java and Smalltalk virtual machines. We are not aware of any attempt to execute and integrate the Java language directly in the Smalltalk environment. A direct integration allows for very tight and almost seamless integration of the languages and their objects within a single environment. Yet integration and language interoperability impose challenging issues related to method naming conventions, method overloading, exception handling and thread-locking mechanisms. In this paper we describe ways to overcome these challenges and to integrate Java into the Smalltalk environment. Using techniques described in this paper, the programmer can call Java code from Smalltalk using standard Smalltalk idioms while the semantics of each language remains preserved. We present STX:LIBJAVA - an implementation of Java virtual machine within Smalltalk/X - as a validation of our approach

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Cost-efficient operation while satisfying performance and availability guarantees in Service Level Agreements (SLAs) is a challenge for Cloud Computing, as these are potentially conflicting objectives. We present a framework for SLA management based on multi-objective optimization. The framework features a forecasting model for determining the best virtual machine-to-host allocation given the need to minimize SLA violations, energy consumption and resource wasting. A comprehensive SLA management solution is proposed that uses event processing for monitoring and enables dynamic provisioning of virtual machines onto the physical infrastructure. We validated our implementation against serveral standard heuristics and were able to show that our approach is significantly better.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Context. Direct observations of gaseous exoplanets reveal that their gas envelope has a higher C/O ratio than that of the host star (e.g., Wasp 12-b). This has been explained by considering that the gas phase of the disc could be inhomogeneous, exceeding the stellar C/O ratio in regions where these planets formed; but few studies have considered the drift of the gas and planet migration. Aims. We aim to derive the gas composition in planets through planet formation to evaluate if the formation of giant planets with an enriched C/O ratio is possible. The study focusses on the effects of different processes on the C/O ratio, such as the disc evolution, the drift of gas, and planet migration. Methods. We used our previous models for computing the chemical composition, together with a planet formation model, to which we added the composition and drift of the gas phase of the disc, which is composed of the main volatile species H2O, CO, CO2, NH3, N2, CH3OH, CH4, and H2S, H2 and He. The study focusses on the region where ice lines are present and influence the C/O ratio of the planets. Results. Modelling shows that the condensation of volatile species as a function of radial distance allows for C/O enrichment in specific parts of the protoplanetary disc of up to four times the solar value. This leads to the formation of planets that can be enriched in C/O in their envelope up to three times the solar value. Planet migration, gas phase evolution and disc irradiation enables the evolution of the initial C/O ratio that decreases in the outer part of the disc and increases in the inner part of the disc. The total C/O ratio of the planets is governed by the contribution of ices accreted, suggesting that high C/O ratios measured in planetary atmospheres are indicative of a lack of exchange of material between the core of a planet and its envelope or an observational bias. It also suggests that the observed C/O ratio is not representative of the total C/O ratio of the planet.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Back-in-time debuggers are extremely useful tools for identifying the causes of bugs, as they allow us to inspect the past states of objects no longer present in the current execution stack. Unfortunately the "omniscient" approaches that try to remember all previous states are impractical because they either consume too much space or they are far too slow. Several approaches rely on heuristics to limit these penalties, but they ultimately end up throwing out too much relevant information. In this paper we propose a practical approach to back-in-time debugging that attempts to keep track of only the relevant past data. In contrast to other approaches, we keep object history information together with the regular objects in the application memory. Although seemingly counter-intuitive, this approach has the effect that past data that is not reachable from current application objects (and hence, no longer relevant) is automatically garbage collected. In this paper we describe the technical details of our approach, and we present benchmarks that demonstrate that memory consumption stays within practical bounds. Furthermore since our approach works at the virtual machine level, the performance penalty is significantly better than with other approaches.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Virtual machines emulating hardware devices are generally implemented in low-level languages and using a low-level style for performance reasons. This trend results in largely difficult to understand, difficult to extend and unmaintainable systems. As new general techniques for virtual machines arise, it gets harder to incorporate or test these techniques because of early design and optimization decisions. In this paper we show how such decisions can be postponed to later phases by separating virtual machine implementation issues from the high-level machine-specific model. We construct compact models of whole-system VMs in a high-level language, which exclude all low-level implementation details. We use the pluggable translation toolchain PyPy to translate those models to executables. During the translation process, the toolchain reintroduces the VM implementation and optimization details for specific target platforms. As a case study we implement an executable model of a hardware gaming device. We show that our approach to VM building increases understandability, maintainability and extendability while preserving performance.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Conventional debugging tools present developers with means to explore the run-time context in which an error has occurred. In many cases this is enough to help the developer discover the faulty source code and correct it. However, rather often errors occur due to code that has executed in the past, leaving certain objects in an inconsistent state. The actual run-time error only occurs when these inconsistent objects are used later in the program. So-called back-in-time debuggers help developers step back through earlier states of the program and explore execution contexts not available to conventional debuggers. Nevertheless, even back-in-time debuggers do not help answer the question, ``Where did this object come from?'' The Object-Flow Virtual Machine, which we have proposed in previous work, tracks the flow of objects to answer precisely such questions, but this VM does not provide dedicated debugging support to explore faulty programs. In this paper we present a novel debugger, called Compass, to navigate between conventional run-time stack-oriented control flow views and object flows. Compass enables a developer to effectively navigate from an object contributing to an error back-in-time through all the code that has touched the object. We present the design and implementation of Compass, and we demonstrate how flow-centric, back-in-time debugging can be used to effectively locate the source of hard-to-find bugs.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Concurrency control is mostly based on locks and is therefore notoriously difficult to use. Even though some programming languages provide high-level constructs, these add complexity and potentially hard-to-detect bugs to the application. Transactional memory is an attractive mechanism that does not have the drawbacks of locks, however the underlying implementation is often difficult to integrate into an existing language. In this paper we show how we have introduced transactional semantics into Smalltalk by using the reflective facilities of the language. Our approach is based on method annotations, incremental parse tree transformations and an optimistic commit protocol. The implementation does not depend on modifications to the virtual machine and therefore can be changed at the language level. We report on a practical case study, benchmarks and further and on-going work.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

AIMS: To evaluate the plaque composition obtained by virtual histology (VH) IVUS according to the clinical presentation and to compare those data to previously published histopathology data. METHODS AND RESULTS: VH was performed on 95 de novo significant lesions (>75% stenosis) in 85 patients [28 acute coronary syndrome (ACS) patients, 30 lesions; 57 stable angina pectoris (SAP) patients, 65 lesions]. There were a higher prevalence of positive remodelling (47 vs. 22%, P=0.013), thrombus (20 vs. 1.5%, P=0.0037), and echo-lucent area (23.3 vs. 7.7%, P=0.047) in ACS patients. At the minimal lumen site, fibrous plaque area was significantly larger in ACS lesions than in SAP lesions (66.0+/-10.7 vs. 61.4+/-8.9%, P=0.034), whereas necrotic core and dense calcium plaque area were smaller in ACS lesions (Necrotic core: 6.8+/-6.0 vs. 11.0+/-8.3%, P=0.02; Dense calcium: 2.6+/-3.0 vs. 4.9+/-5.8%, P=0.03). No differences in rate of thin cap fibroatheroma, thick fibrotheroma, or for the presence of multiple necrotic core layers were observed between both groups. CONCLUSION: Plaque composition obtained by VH-IVUS shows less necrotic core and more fibrous tissue in ACS compared to SAP lesions, which is in contradiction with previously published histopathologic data.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Background: Deterministic evolution, phylogenetic contingency and evolutionary chance each can influence patterns of morphological diversification during adaptive radiation. In comparative studies of replicate radiations, convergence in a common morphospace implicates determinism, whereas non-convergence suggests the importance of contingency or chance. Methodology/Principal Findings: The endemic cichlid fish assemblages of the three African great lakes have evolved similar sets of ecomorphs but show evidence of non-convergence when compared in a common morphospace, suggesting the importance of contingency and/or chance. We then analyzed the morphological diversity of each assemblage independently and compared their axes of diversification in the unconstrained global morphospace. We find that despite differences in phylogenetic composition, invasion history, and ecological setting, the three assemblages are diversifying along parallel axes through morphospace and have nearly identical variance-covariance structures among morphological elements. Conclusions/Significance: By demonstrating that replicate adaptive radiations are diverging along parallel axes, we have shown that non-convergence in the common morphospace is associated with convergence in the global morphospace. Applying these complimentary analyses to future comparative studies will improve our understanding of the relationship between morphological convergence and non-convergence, and the roles of contingency, chance and determinism in driving morphological diversification.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Advancements in cloud computing have enabled the proliferation of distributed applications, which require management and control of multiple services. However, without an efficient mechanism for scaling services in response to changing workload conditions, such as number of connected users, application performance might suffer, leading to violations of Service Level Agreements (SLA) and possible inefficient use of hardware resources. Combining dynamic application requirements with the increased use of virtualised computing resources creates a challenging resource Management context for application and cloud-infrastructure owners. In such complex environments, business entities use SLAs as a means for specifying quantitative and qualitative requirements of services. There are several challenges in running distributed enterprise applications in cloud environments, ranging from the instantiation of service VMs in the correct order using an adequate quantity of computing resources, to adapting the number of running services in response to varying external loads, such as number of users. The application owner is interested in finding the optimum amount of computing and network resources to use for ensuring that the performance requirements of all her/his applications are met. She/he is also interested in appropriately scaling the distributed services so that application performance guarantees are maintained even under dynamic workload conditions. Similarly, the infrastructure Providers are interested in optimally provisioning the virtual resources onto the available physical infrastructure so that her/his operational costs are minimized, while maximizing the performance of tenants’ applications. Motivated by the complexities associated with the management and scaling of distributed applications, while satisfying multiple objectives (related to both consumers and providers of cloud resources), this thesis proposes a cloud resource management platform able to dynamically provision and coordinate the various lifecycle actions on both virtual and physical cloud resources using semantically enriched SLAs. The system focuses on dynamic sizing (scaling) of virtual infrastructures composed of virtual machines (VM) bounded application services. We describe several algorithms for adapting the number of VMs allocated to the distributed application in response to changing workload conditions, based on SLA-defined performance guarantees. We also present a framework for dynamic composition of scaling rules for distributed service, which used benchmark-generated application Monitoring traces. We show how these scaling rules can be combined and included into semantic SLAs for controlling allocation of services. We also provide a detailed description of the multi-objective infrastructure resource allocation problem and various approaches to satisfying this problem. We present a resource management system based on a genetic algorithm, which performs allocation of virtual resources, while considering the optimization of multiple criteria. We prove that our approach significantly outperforms reactive VM-scaling algorithms as well as heuristic-based VM-allocation approaches.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Patients with diabetes mellitus are known to be at increased risk for acute cardiovascular events. We used intravascular ultrasound virtual histology (IVUS-VH) to examine whether nonobstructive coronary artery lesions of diabetic patients have distinct plaque composition and morphology compared with nondiabetic patients.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Background Regional differences in shear stress have been identified as reason for early plaque formation in vessel bifurcations. We aimed to investigate regional plaque morphology and composition using intravascular ultrasound (IVUS) and virtual histology (IVUS–VH) in coronary artery bifurcations. Methods We performed IVUS and IVUS–VH studies at coronary bifurcations to analyze segmental plaque burden and composition of different segments in relation to their orientation to the bifurcation. Results A total of 236 patients with a mean age of 59 ± 11 years (69% male) were analyzed. Plaque burden was higher at the contralateral vessel wall facing the bifurcation compared to the ipsilateral vessel wall and this difference was true for proximal and distal segments (proximal: 37 ± 12% and 45 ± 15% for segments at the ipsilateral and contralateral vessel wall, respectively, p < 0.001; distal: 37 ± 10% and 47 ± 15% for segments at the ipsilateral and contralateral vessel wall, respectively, p < 0.001). In addition, these segments exhibited a higher proportion of dense calcium and a lower proportion of fibrous tissue and fibro fatty tissue. Conclusions Segments on the contralateral wall of the bifurcation which have previously been identified as regions with low shear stress not only exhibited a higher plaque burden, but also a higher degree of calcification.