With the trend towards ever larger "big data" applications, many of the gains achievable by using specialized compute accelerators become diminished due to the growing I/O overheads. While there have been se...
详细信息
With the trend towards ever larger "big data" applications, many of the gains achievable by using specialized compute accelerators become diminished due to the growing I/O overheads. While there have been several research efforts into computational storage and FPGA implementations of the NVMe interface, to our knowledge, there have been only very limited efforts to move larger parts of the Linux block I/O stack into FPGAbased hardware accelerators. Our hardware/software framework DeLiBA initially addressed this deficiency by allowing high-productivity development of software components of the I/O stack in user instead of kernel space and leverages a proven FPGA SoC framework to quickly compose and deploy the actual FPGA-based I/O accelerators. In its initial form, it achieves 10% higher throughput and up to 2.3x the I/Os per second (IOPS) for a proof-of-concept Ceph accelerator running in a real multi-node Ceph cluster. In DeLiBA2, we have extended the framework further to better support distributed storage systems, specifically by directly integrating the block I/O accelerators with a hardware-accelerated network stack, as well as by accelerating more storage functions. With these improvements, performance grows significantly: The cluster-level speedups nowreach up to 2.8x for both throughput and IOPS relative to Ceph in software in synthetic benchmarks and achieve end-to-end wall-clock speedups of 20% for the real workload of building a large software package.
The key technical issues involved in producing high-quality Ada compilers and related support tools are discussed. These include real-time issues, programming tools and environments, and code optimization. Also addres...
详细信息
The key technical issues involved in producing high-quality Ada compilers and related support tools are discussed. These include real-time issues, programming tools and environments, and code optimization. Also addressed are some important problems that compiler designers face, for example, determining which deficiencies of existing Ada systems can be attributed to the language and which are simply hard-to-implement features or unresolved issued in Ada compiler technology
Researchers have proposed many tools and techniques that work by traversing the heap, including checkpointing systems, heap profilers, heap assertion checkers, and dynamic software updating systems. Yet building a hea...
详细信息
Researchers have proposed many tools and techniques that work by traversing the heap, including checkpointing systems, heap profilers, heap assertion checkers, and dynamic software updating systems. Yet building a heap traversal for C remains difficult, and to our knowledge, extant services have used their own application-specific traversals. This paper presents C-strider, a framework for writing C heap traversals and transformations. Writing a basic C-strider service requires implementing only four callbacks;C-strider then generates a program-specific traversal that invokes the callbacks as each heap location is visited. Critically, C-strider is type aware - it tracks types as it walks the heap, so every callback is supplied with the exact type of the associated location. We used C-strider to implement heap serialization, dynamic software updating, heap checking, and profiling, and then applied the resulting traversals to several programs. We found that C-strider requires little programmer effort, and the resulting services are efficient and effective. Copyright (c) 2015John Wiley & Sons, Ltd.
Formative feedback, aimed at helping students to improve theirwork, is an important factor in learning. Many tools that offer programming exercises provide automated feedback on student solutions. We have performed a ...
详细信息
Formative feedback, aimed at helping students to improve theirwork, is an important factor in learning. Many tools that offer programming exercises provide automated feedback on student solutions. We have performed a systematic literature review to find out what kind of feedback is provided, which techniques are used to generate the feedback, how adaptable the feedback is, and how these tools are evaluated. We have designed a labelling to classify the tools, and use Narciss' feedback content categories to classify feedback messages. We report on the results of coding a total of 101 tools. We have found that feedback mostly focuses on identifying mistakes and less on fixing problems and taking a next step. Furthermore, teachers cannot easily adapt tools to their own needs. However, the diversity of feedback types has increased over the past decades and new techniques are being applied to generate feedback that is increasingly helpful for students.
We have developed an interactive environment, PSEE (Parallel System Evaluation Environment) to study the behaviour of linked oriented parallel systems. It allows parallel programming simulation and performance evaluat...
详细信息
We have developed an interactive environment, PSEE (Parallel System Evaluation Environment) to study the behaviour of linked oriented parallel systems. It allows parallel programming simulation and performance evaluation of parallel algorithms in parallel architectures. PSEE permits to manage the main characteristic parameters involved in the system to show the tuning grade of the measurement, visualization and modification of parallel system parameters.
A description is given of five testbeds developed to examine gigabit applications and network technologies: Aurora, Blanca, Casa, Nectar, and Vistanet. Aurora is an experimental wide-area network testbed whose main ob...
详细信息
A description is given of five testbeds developed to examine gigabit applications and network technologies: Aurora, Blanca, Casa, Nectar, and Vistanet. Aurora is an experimental wide-area network testbed whose main objective is to explore and evaluate technologies for phase three of the proposed gigabit National Research and Education Network. The goals of the Blanca network research program are to develop technologies supporting gigabit/second networks, to develop programming tools supporting advanced network-based applications, and to explore the relationships between network technology paradigms and application requirements. The intent of the Casa testbed is to demonstrate that distributed supercomputing using wide-area high-speed networks can provide new levels of computational resources for leading-edge scientific problems. For the Nectar testbed project, a gigabit/second or higher experimental network will be developed to connect a variety of high-performance hosts. The Vistanet research project is intended to help determine whether networks based on emerging public-network standards will satisfy the goals of the National Research and Education Network and to provide information on specifications for those standards
A significant amount of software development is evolutionary, involving the modification of already existing programs. To a large extent, the modified programs produce the same results as the original program. This si...
详细信息
A significant amount of software development is evolutionary, involving the modification of already existing programs. To a large extent, the modified programs produce the same results as the original program. This similarity between the original program and the development program Is utilized by relative debugging. Relative debugging is a new concept that enables the user to compare the execution of two programs by specifying the expected correspondences between their states. A relative debugger concurrently executes the programs, verifies the correspondences, and reports any differences found. We describe our novel debugger, called Guard, and its relative debugging capabilities. Guard Is implemented by using our library of debugging routines, called Dynascope, which provides debugging primitives in heterogeneous networked environments. To demonstrate the capacity of Guard for debugging in heterogeneous environments, we describe an experiment in which the execution of two programs is compared across Internet The programs are written in different programming languages and executing on different computing platforms. (C) 1997 by John Wiley & Sons, Ltd.
The diffusion of parallel architectures is currently limited by the lack of tools to exploit efficiently all available resources with few programming efforts. This is specially a problem in the allocation area. The pa...
详细信息
The diffusion of parallel architectures is currently limited by the lack of tools to exploit efficiently all available resources with few programming efforts. This is specially a problem in the allocation area. The paper presents a set of allocation tools (ACL) implemented within an object-oriented parallel programming environment. ACL defines a set of directives that permit users to specify the allocation needs of his/her applications without any knowledge of the architecture details. ACL directives drive the run-time support by tuning its general-purpose behaviour to the specific allocation needs of the applications. The effectiveness of the ACL approach is confirmed by testbed applications. (C) 1998 Elsevier Science B.V. All rights reserved.
Many distributed-memory machines support connection-based communication instead of or in addition to connection-less message passing. Connection-based communication can be more efficient than message passing because t...
详细信息
Many distributed-memory machines support connection-based communication instead of or in addition to connection-less message passing. Connection-based communication can be more efficient than message passing because the resources are reserved once for the connection, and multiple messages can be sent over the connection. While long-lived connections enable more efficient use of the communication system in some situations, managing connection resources adds another level of complexity to programming such machines. iWarp is an example of a distributed memory machine that supports long-lived connections. To aid the iWarp programmer and program generator tools, we developed a tool chain that enables the programmer to define connections and compose parallel programs. The communication tool chain has been in use for four years in various forms. In that time, we have found many benefits and a few pitfalls in our model. This paper describes the design of the programming model and tools and discusses our experiences with this implementation.
Software users rely on software tools such as browser tab controls and spell checkers to work effectively and efficiently, but it is difficult for users to be aware of all the tools that might be useful to them. While...
详细信息
Software users rely on software tools such as browser tab controls and spell checkers to work effectively and efficiently, but it is difficult for users to be aware of all the tools that might be useful to them. While there are several potential technical solutions to this difficulty, we know little about social solutions, such as one user telling a peer about a tool. To explore these social solutions, we conducted two studies, an interview study and a diary study. The interview study describes a series of interviews with 18 programmers in industry to explore how tool discovery takes place. To broaden our findings to a wider group of software users, we then conducted a diary study of 76 software users in their workplaces. One finding was that social learning of software tools, while sometimes effective, is infrequent;software users appear to discover tools from peers only once every few months. We describe several implications of our findings, such as that discovery from peers can be enhanced by improving software users' ability to communicate openly and concisely about tools.
暂无评论