We present a new static analysis method for first-class continuations that uses an effect system to classify the control domain behavior of expressions in a typed polymorphic language. We introduce two new control eff...
详细信息
We present a new static analysis method for first-class continuations that uses an effect system to classify the control domain behavior of expressions in a typed polymorphic language. We introduce two new control effects, goto and comefrom, that describe the control flow properties of expressions. An expression that does not have a goto effect is said to be continuation following because it will always call its passed return continuation. An expression that does not have a comefrom effect is said to be continuation discarding because it will never preserve its return continuation for later use. Unobservable control effects can be masked by the effect system. Control effect soundness theorems guarantee that the effects computed statically by the effect system are a conservative approximation of the dynamic behavior of an expression.
Specialized execution using spatial architectures provides energy efficient computation, but requires effective algorithms for spatially scheduling the computation. Generally, this has been solved with architecture-sp...
详细信息
ISBN:
(纸本)9781450320146
Specialized execution using spatial architectures provides energy efficient computation, but requires effective algorithms for spatially scheduling the computation. Generally, this has been solved with architecture-specific heuristics, an approach which suffers from poor compiler/architect productivity, lack of insight on optimality, and inhibits migration of techniques between architectures. Our goal is to develop a scheduling framework usable for all spatial architectures. To this end, we expresses spatial scheduling as a constraint satisfaction problem using Integer Linear programming (ILP). We observe that architecture primitives and scheduler responsibilities can be related through five abstractions: placement of computation, routing of data, managing event timing, managing resource utilization, and forming the optimization objectives. We encode these responsibilities as 20 general ILP constraints, which are used to create schedulers for the disparate TRIPS, DySER, and PLUG architectures. Our results show that a general declarative approach using ILP is implementable, practical, and typically matches or outperforms specialized schedulers.
Mul-T is a parallel Lisp system, based on Multilisp's future construct, that has been developed to run on an Encore Multimax multiprocessor. Mul-T is an extended version of the Yale T system and uses the T system&...
详细信息
Mul-T is a parallel Lisp system, based on Multilisp's future construct, that has been developed to run on an Encore Multimax multiprocessor. Mul-T is an extended version of the Yale T system and uses the T system's ORBIT compiler to achieve 'production quality' performance on stock hardware - about 100 times faster than Multilisp. Mul-T shows that futures can be implemented cheaply enough to be useful in a production-quality system. Mul-T is fully operational, including a user interface that supports managing groups of parallel tasks.
Applications that combine live data streams with embedded, parallel, and distributed processing are becoming more commonplace. WaveScript is a domain-specific language that brings high-level, type-safe, garbage-collec...
详细信息
Applications that combine live data streams with embedded, parallel, and distributed processing are becoming more commonplace. WaveScript is a domain-specific language that brings high-level, type-safe, garbage-collected programming to these domains. This is made possible by three primary implementation techniques, each of which leverages characteristics of the streaming domain. First, we employ a novel evaluation strategy that uses a combination of interpretation and reification to partially evaluate programs into stream dataflow graphs. Second, we use profile-driven compilation to enable many optimizations that are normally only available in the synchronous (rather than asynchronous) dataflow domain. Finally, we incorporate an extensible system for rewrite rules to capture algebraic properties in specific domains (such as signal processing). We have used our language to build and deploy a sensor-network for the acoustic localization of wild animals, in particular, the Yellow-Bellied marmot. We evaluate WaveScript's performance on this application, showing that it yields good performance on both embedded and desktop-class machines, including distributed execution and substantial parallel speedups. Our language allowed us to implement the application rapidly, while outperforming a previous C implementation by over 35%, using fewer than half the lines of code. We evaluate the contribution of our optimizations to this success.
The tradeoffs used in the implementation of a 172,163-transistor 32-bit single-chip microprocessor are investigated, focusing on those particular to the use of C. CRISP matches the requirements for supporting C compil...
详细信息
ISBN:
(纸本)0818608056
The tradeoffs used in the implementation of a 172,163-transistor 32-bit single-chip microprocessor are investigated, focusing on those particular to the use of C. CRISP matches the requirements for supporting C compilers with a simple, straightforward set of instructions, a small number of addressing modes, and by allowing orthogonal operation on the basic integer data types supported in C. The use of a small stack cache provides a significant reduction in data traffic by a better allocation of data to registers than has previously been possible with software compilers.
The proceedings contain 65 papers. The topics discussed include: a three dimensional wire frame graphics system;on APL software for credibility theory;an object oriented extension to APL;system development methodology...
ISBN:
(纸本)0897912268
The proceedings contain 65 papers. The topics discussed include: a three dimensional wire frame graphics system;on APL software for credibility theory;an object oriented extension to APL;system development methodology using LOGOS;control system development tools;techniques for extracting statistical data prom free-form text using APL;implementation of an APL-based spreadsheet manager;server networks communicating via inter-user shared variables;component file systems and the APL standard;APL2 implementations of unificatlon;managing APL public code for an in-house APL system (before and afterLOGOS);replicate each, anyone?;a full-screen front end for GRAPHPAK;FSM - a fullscreen manager;APL-to-ADA translator;screen management in the 'real world';why APL2: a discussion of design principles;an integrated microprogram development methodology based on APL;using the LOGOS programming environment a case history;solutions to logic problems in APL2;a second generation domino for statisticians;infinite loops and how to create them;a proposal for blocks and exits in APL;how graphics could be simplified in APL;recapturing the high ground use of APL in decision tree modelling;and investigation into the efficiency of using APL for the programming of an inference machine.
This paper describes the design, specification, implementation of and experiences from an interactive flowcharting technique for communicating and realizing algorithms. Educating the expert to know how to use the comp...
详细信息
This paper describes the design, specification, implementation of and experiences from an interactive flowcharting technique for communicating and realizing algorithms. Educating the expert to know how to use the computer system is important, since then he/she can easily express his/her ideas in the same 'language' as the other persons in the software development group. Our goals are: to help novices to understand computers, by giving them a framework for organizing algorithms, and to support development of software produced by groups of people over an extended period of time. Based on the notions of dimensional flowcharts a system called the DIMsystem has been developed for handling structured flowcharts.
As a value flows across the boundary between interoperating languages, it must be checked and converted to fit the types and representations of the target language. For simple forms of data, the checks and coercions c...
详细信息
As a value flows across the boundary between interoperating languages, it must be checked and converted to fit the types and representations of the target language. For simple forms of data, the checks and coercions can be immediate, for higher order data, such as functions and objects. some must be delayed until the value is used in a particular way. Typically, these coercions and checks are implemented by an ad-hoc mixture of wrappers, reflection, and dynamic predicates. We observe that 1) the wrapper and reflection operations fit the profile of mirrors, 2) the checks correspond to contracts, and 3) the timing and shape of mirror operations coincide with the timing and shape of contract operations. Based on these insights, we present a new model of interoperability that builds on the ideas of mirrors and contracts, and we describe an interoperable implementation of Java and Scheme that is guided by the model.
The proceedings contain 45 papers. The topics discussed include: promoting a common testbed for natural deduction tutoring systems;integrating stand-alone new media technologies such as games and virtual and augmented...
ISBN:
(纸本)9781450398428
The proceedings contain 45 papers. The topics discussed include: promoting a common testbed for natural deduction tutoring systems;integrating stand-alone new media technologies such as games and virtual and augmented reality software into learning management systems: integrating stand-alone media software into LMSs;simplifying the creation and maintenance of automated assessments of programming tasks via test specific language;CloudPES: cloud portal of educational services for higher education institutions in Nigeria;interface design guidelines for low literate users: a literature review;design and implementation of system of recognition of students’ learning behavior in classroom teaching videos;comparison of natural deduction theorem provers used in electronic tutoring systems;innovative learning and training approach in business – a systematic business games and literature review;and factors affecting grade eight students’ learning motivation in Chinese reading when learning with flipped classroom approach.
A critical optimization in the domain of linear signal transforms, such as the discrete Fourier transform (DFT), is loop merging, which increases data locality and reuse and thus performance. In particular, this inclu...
详细信息
A critical optimization in the domain of linear signal transforms, such as the discrete Fourier transform (DFT), is loop merging, which increases data locality and reuse and thus performance. In particular, this includes the conversion of shuffle operations into array reindexings. To date, loop merging is well understood only for the DFT, and only for Cooley-Tukey FFT based algorithms, which excludes DFT sizes divisible by large primes. In this paper, we present a formal loop merging framework for general signal transforms and its implementation within the SPIRAL code generator. The framework consists of Sigma-SPL, a mathematical language to express loops and index mappings;a rewriting system to merge loops in E-SPL;and a compiler that translates Sigma-SPL into code. We apply the framework to DFT sizes that cannot be handled using only the Cooley-Tukey FFT and compare our method to FFTW 3.0.1 and the vendor library Intel MKL 7.2.1. Compared to FFTW our generated code is a factor of 2-4 faster under equal implementation conditions (same algorithms, same unrolling threshold). For some sizes we show a speed-up of a factor of 9 using Bluestein's algorithm. Further, we give a detailed comparison against the Intel vendor library MKL;our generated code is between 2 times faster and 4.5 times slower.
暂无评论