Dynamic, object-orientedprogramminglanguages are widely regarded as enjoyable and easy to use. These languages lend themselves well to exploration and very short iteration cycles and feedback loops. However, many of...
详细信息
ISBN:
(纸本)9798400706349
Dynamic, object-orientedprogramminglanguages are widely regarded as enjoyable and easy to use. These languages lend themselves well to exploration and very short iteration cycles and feedback loops. However, many of them have no or limited support for multithreading. Squeak, a modern Smalltalk programming environment that focuses on interactivity and programming experience, doesn't support multithreading. We discuss multiple high-level strategies employed by similar languages and runtime environments to support parallel execution. Existing research and implementations using the presented strategies are analyzed to find a good fit for the Squeak/Smalltalk ecosystem. Due to Squeak's strong focus on interactivity and programming experience, we decided for an approach with limited support for parallelization. Our focus on a straight-forward implementation is based on our observation that reduction of pause times is more important for the programming experience than a model for fully parallel execution.
Teaching novices to program is an unsolved problem. One part of the problem lies in the fact that industrial languages are used for teaching novices, while they were not made for this purpose. I am designing a Program...
详细信息
ISBN:
(纸本)9798400703843
Teaching novices to program is an unsolved problem. One part of the problem lies in the fact that industrial languages are used for teaching novices, while they were not made for this purpose. I am designing a programming Education Runtime System to easily create modular languages for education. This system utilizes object algebras, trampolining and algebraic effects and handlers. It has been used to implement an interpreter for the Hedy programming language. This implementation has several important advantages over the existing one, such as better debugging support and better integration with the Hedy platform.
The proceedings contain 11 papers. The topics discussed include: lazy sparse conditional constant propagation in the sea of nodes;mutator-driven object placement using load barriers;interactive programming for microco...
ISBN:
(纸本)9798400711183
The proceedings contain 11 papers. The topics discussed include: lazy sparse conditional constant propagation in the sea of nodes;mutator-driven object placement using load barriers;interactive programming for microcontrollers by offloading dynamic incremental compilation;imagine there’s no source code: replay diagnostic location information in dynamic EDSL meta-programming;existential containers in Scala;Quff: a dynamically typed hybrid quantum-classical programming language;towards realistic results for instrumentation-based profilers for JIT-compiled systems;toward declarative auditing of java software for graceful exception handling;dynamic possible source count analysis for data leakage prevention;and the cost of profiling in the HotSpot virtual machine.
The first object-oriented language SIMULA was designed for modeling as well as programming. The situation today is that we have two more or less disjoint communities: one focusing on object-orientedprogramming and on...
详细信息
ISBN:
(纸本)9798350324983
The first object-oriented language SIMULA was designed for modeling as well as programming. The situation today is that we have two more or less disjoint communities: one focusing on object-orientedprogramming and one focusing on object-oriented modeling. In the programming community, reuse is considered the main advantage of object-orientation with no explicit focus on modeling. The object-oriented modeling community is of course concerned with modeling, but the main focus seems to be on language elements for drawing diagrams, and little about how to actually apply modeling. In this paper, we argue that you need a conceptual framework in order to apply modeling as well as programming. Such a conceptual framework was developed during development of the Beta language, and we describe part of this in this paper. Finally, we discuss some of the implications that a conceptual framework may have on modeling and/or programminglanguages. The philosophy underlying this paper is that programming is modeling, and we recommend that modeling and programming communities should join forces.
The prevalence of disaggregated storage in public clouds has led to increased latency in modern OLAP cloud databases, particularly when handling ad-hoc and highly-selective queries on large objects. To address this, c...
详细信息
Associations are a key concept in modeling languages as a way to formalize the relationships between domain concepts. Unfortunately, the support of semantically rich associations able to represent complex relationship...
详细信息
ISBN:
(纸本)9798350324983
Associations are a key concept in modeling languages as a way to formalize the relationships between domain concepts. Unfortunately, the support of semantically rich associations able to represent complex relationships is often missing, and this is both at the model and code level. At the model level, complex constraints on associations are often represented by using external, textual constraint languages which are difficult to understand and to maintain. At the code level, the situation is even worse, as mainstream object-orientedlanguages lack direct support for associations. In order to alleviate this problem, in this paper we propose a reification of complex association constraints so that they can be easily specified at development time and monitored at runtime. We do this by leveraging PAMELA, an annotation-based Java modeling framework, which promotes blending classical programming with modeling through the use of annotations and runtime code instrumentalization and monitoring. PAMELA is in the scope of Model-orientedprogramming approaches. We provide a classification of association constraints and discuss different implementation strategies. Finally, we demonstrate the feasibility of our approach with a prototype implementation and an initial catalog of association patterns.
object storage is increasingly attractive for deep learning (DL) applications due to its cost-effectiveness and high scalability. However, it exacerbates CPU burdens in DL clusters due to intensive object storage proc...
详细信息
ISBN:
(纸本)9798400710797
object storage is increasingly attractive for deep learning (DL) applications due to its cost-effectiveness and high scalability. However, it exacerbates CPU burdens in DL clusters due to intensive object storage processing and multiple data movements. Data processing unit (DPU) offloading is a promising solution, but naively offloading the existing object storage client leads to severe performance degradation. Besides, only offloading the object storage client still involves redundant data movements, as data must first transfer from the DPU to the host and then from the host to the GPU, which continues to consume valuable host resources. In this paper, we propose OS2G, a high-performance offloading architecture designed to free up valuable CPU resources while providing high-performance storage services for DL applications. The key idea of OS2G is to offload the object storage client to a DPU and enable direct data transfer between the DPU and GPU. Specifically, we design a high-performance OS2G Client running on the DPU, utilizing asynchrony, pre-reading, and concurrency strategies to provide high-performance object storage services. Additionally, we propose the GPUDirect DPU (GDD) technique for OS2G to optimize the data path, allowing direct data transfer between the DPU-accelerated storage system and the GPU computing system, fully bypassing the host. Results demonstrate that compared to S3FS and S3Connector, OS2G reduces the execution time of the ResNet18 model by 34.3% and 50.4%, and also decreases CPU consumption by 61.9% and 57.7%, respectively.
Compilation is all about tree rewriting. In functional languages where all data is tree-shaped, tree rewriting is facilitated by pattern matching, but data immutability leads to copying for each update. In object-orie...
详细信息
Modern software systems, developed using object-orientedprogramminglanguages (OOPL), often rely on relational databases (RDB) for persistent storage, leading to the object-relational impedance mismatch problem (IMP)...
详细信息
ISBN:
(纸本)9798400706851
Modern software systems, developed using object-orientedprogramminglanguages (OOPL), often rely on relational databases (RDB) for persistent storage, leading to the object-relational impedance mismatch problem (IMP). Although object-Relational Mapping (ORM) tools like Hibernate and Django provide a layer of indirection, designing efficient application-specific data mappings remains challenging and error-prone. The selection of mapping strategies significantly influences data storage and retrieval performance, necessitating a thorough understanding of paradigms and systematic tradeoff exploration. The state-of-the-art systematic design tradeoff space exploration faces scalability issues, especially in large systems. This paper introduces a novel methodology, dubbed Leant, for learning-based analysis of tradeoffs, leveraging machine learning to derive domain knowledge autonomously, thus aiding the effective mapping of object models to relational schemas. Our preliminary results indicate a reduction in time and cost overheads associated with developing (Pareto-) optimal object-relational database schemas, showcasing Leant's potential in addressing the challenges of object-relational impedance mismatch and advancing object-relational mapping optimization and database design.
The development of feature-orientedprogramming (FOP) and of (its generalization) delta-orientedprogramming (DOP) has focused primarily on SPLs of class-based objectoriented programs. In this paper, we introduce del...
详细信息
暂无评论