26 citations found. Retrieving documents...
T. Knight. An architecture for mostly functional languages. In Proceedings of the 1986.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
SUDS: Automatic Parallelization for Raw Processors - Frank (2003)   (Correct)

....ordering, but in virtual time systems, as in data speculation systems, the assignment of timestamps to tasks is dictated by the sequential program order. In a transaction processing system, each transaction can be assigned a timestamp whenever it enters the system. Knight s Liquid system [61, 60] used a method more like optimistic concurrency control [69] except that timestamps must be pessimistically assigned a priori, rather than optimistically when the task commits, and writes are pessimistically buffered in private memories and then written out in serial order so that different ....

....In the future SUDS might permit long term caching of read mostly values by allowing the software system to permanently mark an address in the timestamp cache. Another recent trend has been to examine the prediction mechanism used by dependence speculation systems. Some early systems [61, 116, 49] transmit all dependences through the speculative memory system. SUDS, like the Multiscalar, allows the compiler to statically identify true dependences, which are then forwarded using a separate, fast, communication path. SUDS and other systems in this class essentially statically predict that ....

Tom Knight. An architecture for mostly functional languages. In Proceedings of the ACM Conference on Lisp and Functional Programming, pages 88--93, August 1986.


Detection of Synchronization Errors through Speculative.. - Steven Lumetta University   (Correct)

....7] suggest the speculative elision of lock acquisitions in threaded programs to eliminate unnecessary serialization and to allow the use of more coarse grained locks without sacrificing performance. These schemes rely primarily on extensions to processor caching mechanisms, an idea introduced in [4]. This paper suggests a minor extension to such a protocol [7] to enable production time detection and localization of synchronization errors in threaded applications. Although the idea may also apply to some earlier techniques [3] its value has not been previously recognized. The closest ....

....of the validation phase. Notions of read and write sets were introduced to track accesses by each transaction for use in detecting conflicts. The application of processor caching mechanisms to optimistic concurrency first appeared in the context of automatic parallelization of LISP code [4]. The sequential code was split into a totally ordered set of fragments, with each fragment containing only a few writes to memory. Unlike database transactions, such code fragments must obey the ordering implied by sequential execution. Two caches associated with each processor held the read and ....

T. Knight. An Architecture for Mostly Functional Languages. In ACM Conf. on LISP and Functional Programming, pages 105--12, 1986.


Speculation-Based Techniques for Lockfree Execution of Lock-Based .. - Rajwar (2002)   (Correct)

....the performance gap between sequential consistency and relaxed memory models. 2.4.1. 3 Speculative parallelization of sequential programs To the best of our knowledge, the first proposal for speculative parallelization of sequential programs was by Knight in the context of functional languages [86]. Knight described an architecture to automatically extract and execute parallel portions of a sequential program while giving the appearance to the programmer that the program is being executed sequentially. Hardware was used to dynamically check the correctness of the execution and fully ....

....Buffering speculative register state is well studied and supported in modern processors either in the form of checkpoints, history buffers, or future files [153] Nearly all proposals for speculative execution discussed earlier use local buffers to store speculative updates to memory. Knight [86] used the confirm cache local to each processor to store uncommitted data. Herlihy and Moss [66] used a transactional cache to track and buffer speculative updates of the transactions. The multiscalar work proposed the address resolution buffer [42] and the speculative versioning cache ....

[Article contains additional citation context not shown here]

Thomas F. Knight. An Architecture for Mostly Functional Languages. In Proceedings of ACM Lisp and Functional Programming Conference, pages 500--519, August 1986.


Implementing Distributed Systems Using Linear Naming - Bawden (1993)   (3 citations)  (Correct)

....parallel hardware. The usual approach to controlling these problems is to impose programming language restrictions on the use of state, perhaps even by ruling it out altogether. Others have proposed schemes that accept state as a necessity, and try to minimize its bad effects [Bac78, Agh86, GL86, Kni86] I believe that before either outlawing state, or learning to simply tolerate it, we should try to better understand it, in the hope of eventually being able to reform it. This chapter takes some steps towards such an understanding. Using the linear graph reduction model we will be able to ....

Tom Knight. An architecture for mostly functional languages. In Proc. Symposium on Lisp and Functional Programming, pages 105--112. ACM, August 1986.


Removing Architectural Bottlenecks to the.. - Prvulovic..   (6 citations)  (Correct)

....pointer based accesses, indirect accesses to arrays, irregular control flow, accesses to structures across complicated procedure calling patterns, and accesses whose pattern depends on input data. One way to extract parallelism from these codes is to use speculative thread level parallelization [1, 5, 7, 8, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 24, 26, 27]. In this technique, the computation in the program is divided into tasks and assigned to different threads. The threads execute in parallel, optimistically assuming that sequential semantics will not be violated. As the threads run, their control flow and the data that they access are tracked. If ....

....to ensure data coherence. State repair may use hardware support to speed up the detection of tasks that need to be re executed and the destruction of the incorrect state in their caches. In recent years, many schemes with hardware support for speculative parallelization have been proposed [1, 5, 7, 9, 11, 13, 15, 21, 22, 23, 24, 26, 27]. Among other issues, they differ in their target machine size and type of code, as well as in their relative emphasis on hardware and software support. Some of these schemes have focused on architecting a solution for scalable machines [5, 22, 26, 27] The evaluation of such solutions for up to ....

[Article contains additional citation context not shown here]

T. Knight. An Architecture for Mostly Functional Languages. In ACM Lisp and Functional Programming Conference, pages 500--519, August 1986.


A Software Framework for Supporting General Purpose.. - Frank, Lee, Amarasinghe (2001)   (3 citations)  (Correct)

....ordering, but in virtual time systems, as in data speculation systems, the assignment of timestamps to tasks is dictated by the sequential program order. In a transaction processing system, each transaction can be assigned a timestamp whenever it enters the system. Knight s Liquid system [29, 30] used a method more like optimistic concurrency control [32] except that timestamps must be pessimistically assigned a priori, rather than optimistically when the task commits, and writes are pessimistically buffered in private memories and then written out in serial order so that different ....

....mechanisms. In the future SUDS might permit long term caching of read mostly values by allowing the software system to permanently mark an address in the timestamp cache. Another recent trend has been to examine the prediction mechanism used by dependence speculation systems. Some early systems [29, 49, 23] transmit all dependences through the speculative memory system. SUDS, like the Multiscalar, allows the compiler to statically identify true dependences, which are then forwarded using a separate, fast, communication path. SUDS and other systems in this class essentially statically predict that ....

T. Knight. An Architecture for Mostly Functional Languages. In Proceedings of the ACM Conference on Lisp and Functional Programming, pages 88--93, Aug. 1986.


A Scalable Approach to Thread-Level Speculation - Steffan, Colohan, Zhai, Mowry (2000)   (33 citations)  (Correct)

..... Epoch 5 = hash[30] Epoch 6 = hash[9] Epoch 7 = hash[27] Time Figure 1. Example of thread level speculation. 1. 2 Related Work Knight was the first to propose hardware support for a form of thread level speculation [12]; his work was within the context of functional languages. The Multiscalar architecture [6, 18] was the first complete design and evaluation of an architecture for TLS. There have since been many other proposals which extend the basic idea of thread level speculation [2, 7, 8, 9, 13, 15, 17, 20, ....

T. Knight. An Architecture for Mostly Functional Languages. In Proceedings of the ACM Lisp and Functional Programming Conference, pages 500--519, August 1986.


Architectural Support for Scalable Speculative.. - Cintra, Martinez.. (2000)   (26 citations)  (Correct)

....should not cause too many squashes. Fortunately, we can see from Table 6 that only a small fraction of the squashes in our protocol (Word) are due to loads. The fraction is higher in Line. 6 RELATED WORK An early proposal for hardware support for a form of speculative parallelization was made in [9] in the context of functional languages. More recently, the Multiscalar processor [16] was the first major work to use speculation within a single chip multithreaded architecture, initially with the Address Resolution Buffer [3] and later with the Speculative Versioning Cache [4] Other related ....

T. Knight. "An Architecture for Mostly Functional Languages." ACM Lisp and Functional Programming Conference, pages 500-519, August 1986.


Programming Reversible Computers - Frank (1996)   (Correct)

....might be useful to coordinate the activities of multiple CPUs which are running an underlying sequential algorithm in a parallel multiprocessing system. The individual CPUs might optimistically perform computations on data under the assumption that the data is valid (as in Knight s paper [7]) but when an inconsistency is detected, rather than restarting the processor s computation entirely, the processor might be reversibly rolled back to the point at which it read the bad data, and then proceed from there using the new, correct data. However, I need to go back and reread Tom s ....

....a concurrent transaction system with automatic rollback by simply building it on top of a lower level reversible IPC mechanism that dealt with reversing over I O operations in that way. However, many details of how this would work remain to be worked out. Related issues crop up in Knight s paper [7], in which a mechanism is proposed for parallel execution of serial programs in multiprocessors, via a mechanism whereby a process is aborted when it is discovered to have read data that was not really valid yet at the time it was read. Rather than aborting the process, we could imagine just ....

Tom Knight. An architecture for mostly functional languages. In Patrick Henry Winston and Sarah Alexandra Shellard, editors, Artificial Intelligence at MIT: Expanding Frontiers, volume 1, chapter 19, pages 500--519. The MIT Press, Cambridge, Massachusetts, 1990.


SUDS: Primitive Mechanisms for Memory Dependence.. - Frank, Moritz.. (1999)   (3 citations)  (Correct)

....it enters the system. More specifically after detecting a conflict a transaction processing system restarts whichever transaction detects the conflict, giving it a higher transaction number in the process. SUDS must restart the thread with the later transaction number. Knight s Liquid system [19, 18] used a method more like optimistic concurrency control [21] except that timestamps must be pessimistically assigned a priori, rather than optimistically when the task commits, and writes are pessimistically buffered in private memories and then written out in serial order so that different ....

....mechanisms. In the future SUDS might permit long term caching of read mostly values by allowing the software system to permanently mark an address in the timestamp cache. Another recent trend has been to examine the prediction mechanism used by dependence speculation systems. Some early systems [19, 33, 14] transmit all dependencies through the speculative memory system. SUDS, like the Multiscalar allows the compiler to statically identify loop carried dependences which are then forwarded using a separate, fast, communication path. SUDS and other systems in this class essentially statically predict ....

Tom Knight. An Architecture for Mostly Functional Languages. In Proceedings of the ACM Conference on Lisp and Functional Programming, pages 88--93, August 1986.


Improving the Performance of Speculatively Parallel.. - Olukotun, Hammond.. (1999)   (13 citations)  (Correct)

....violations, which provides further performance gains. In Section 6, we present speculation performance results using these software and hardware enhancements. We conclude in Section 7. 2 Previous Work The first mention of speculative threads was in the work of Knight in the context of LISP [9]. However, the Multiscalar paradigm [3] 17] has most directly influenced the Hydra research. The Multiscalar paradigm takes a hardware centric approach to extracting fine grained parallelism from sequential integer programs. The hardware required includes processing units whose register files are ....

T. Knight, "An architecture for mostly functional languages," Proceedings of the ACM Lisp and Functional Programming Conference, pp. 500--519, August 1986.


Two Techniques to Enhance the Performance of Memory.. - Kourosh Gharachorloo (1991)   (51 citations)  (Correct)

....has an arbitrarily large window. In general, it should be possible to combine hardwarecontrolled and software controlled non binding prefetching such that they complement one another. Speculative execution based on possibly incorrect data values has been previously described by Tom Knight [13] in the context of providing dynamic parallelism for sequential Lisp programs. The compiler is assumed to transform the program into sequences of instructions called transaction blocks. These blocks are executed in parallel and instructions that side effect main memory are delayed until the block ....

Tom Knight. An architecture for mostly functional languages. In ACM Conference on Lisp and Functional Programming, 1986.


Weak Ordering - A New Definition And Some Implications - Adve, Hill (1989)   (7 citations)  (Correct)

....There have been other approaches that partially or completely rely on software to make parallel executions appear sequential. Jefferson first introduced the concept of virtual time and the time warp mechanism in [Jef85] for correct synchronization of distributed message passing systems. Knight [Kni86], and Tinker and Katz [TiK88] have described schemes for parallelizing mostly functional languages with a few side effects. Each of these approaches schedules parallel tasks optimistically, without any attention to serializability. The runtime environment detects if any execution could preclude ....

T. Knight, An Architecture for Mostly Functional Languages, Proc. ACM Conference on LISP and Functional Programming, 1986, 105-112.


Designing Memory Consistency Models For Shared-Memory.. - Adve (1993)   (30 citations)  (Correct)

....optimistic scheduling in [Jef85] has parallels with the speculative execution scheme of [GGH91b] however, rollbacks in [GGH91b] are local while those in [Jef85] may have global effects. Similar ideas have also been used for parallelizing sequential programs written in mostly functional languages [Kni86, TiK88]. The parallel tasks are executed optimistically, using runtime (hardware or software) support to detect dependence violations and effect rollbacks. Work related to compiler optimizations includes that by Shasha and Snir [ShS88] and Midkiff et al. MPC89] Although Shasha and Snir motivate their ....

T. KNIGHT, An Architecture for Mostly Functional Languages, Proc. ACM Conf. on LISP and Functional Programming, 1986, 105-112.


Optimistic Parallelization - Morrisett, Herlihy (1993)   (Correct)

....of processors, but performance can degrade for large transactions and large numbers of processors. 6 Related Work There is a vast literature on optimistic techniques for database synchronization. The two earliest and most influential papers are by Thomas [19] and by Kung and Robinson [12] Knight [11] proposed an architecture in which basic blocks were scheduled to run in parallel with transactional semantics. He also proposed the use of a shared counter to force the proper serialization. The ParaTran System [10, 20] applied these ideas in an optimistically parallelizing compiler for Scheme. ....

T. Knight. An architecture for mostly functional languages. In Proceedings of 1986 ACM Conference on Lisp and Functional Programming, pages 105--112, Aug. 1986.


Panel Sessions of The 1991 Workshop on Multithreaded Computers - Theobald (1993)   (Correct)

....people do it. Sparcle [2] MASA [12] all these people are basically doing that. Now I think that is an important component. I can t do that now, because I can t spend the thirty to fifty million dollars to do that. There is true speculation; I refer you to Tom Knight s work, on Liquid [15]. Also, high speed state management is very important. And I think there are competing views of replicating register sets, of doing automatic management (and I think the Named State Processor [22] is a very clever view of that) We re just being brute force in providing a lot of on chip register ....

T. Knight. An architecture for mostly functional languages. In Proceedings of the 1986 ACM Conference on LISP and Functional Programming, pages 105--112, Cambridge, Massachusetts, August 4--6, 1986. ACM SIGPLAN, SIGACT, and SIGART.


Enhancing Software Reliability With Speculative Threads - And The Committee   (Correct)

No context found.

T. Knight. An architecture for mostly functional languages. In Proceedings of the 1986.


Compiler Optimization of Value Communication for Thread-Level.. - Zhai (2005)   (Correct)

No context found.

T. Knight. An architecture for mostly functional languages. In Proceedings of the ACM Lisp and Functional Programming Conference, pages 500--519, August 1986.


Transactional Execution of Java Programs - Brian Carlstrom Jaewoong (2005)   (Correct)

No context found.

T. Knight. An architecture for mostly functional languages. In Proceedings of the 1986.


Hardware Support for Thread-Level Speculation - Steffan (2003)   (Correct)

No context found.

T. Knight. An Architecture for Mostly Functional Languages. In Proceedings of the ACM Lisp and Functional Programming Conference, pages 500--519, August 1986.


Tradeoffs in Buffering Speculative Memory State for .. - Garzaran.. (2005)   (Correct)

No context found.

KNIGHT,T. 1986. An architecture for mostly functional languages. In ACM Lisp and Functional Programming Conference. 500--519.


Memory Dependence Prediction - Andreas Ioannis Moshovos   (Correct)

No context found.

T. Knight. An architecture for mostly functional languages. In Proc. ACM Conference on Lisp and Functional Programming, August 1986.


Hardware Support for Thread-Level Speculation - Steffan (2003)   (Correct)

No context found.

T. Knight. An Architecture for Mostly Functional Languages. In Proceedings of the ACM Lisp and Functional Programming Conference, pages 500--519, August 1986.


Master/slave Speculative Parallelization And Approximate Code - Zilles (2002)   (1 citation)  (Correct)

No context found.

Tom Knight. An Architecture for Mostly Functional Languages. In Proceedings of the ACM Conference on LISP and Functional Programming, pages 105--112, 1986.


Tradeoffs in Buffering Memory State for.. - Garzarán..   (Correct)

No context found.

T. Knight. An Architecture for Mostly Functional Languages. In ACM Lisp and Functional Programming Conf., pages 500--519, August 1986.


Lively Linear Lisp - 'Look Ma, No Garbage!' - Baker (1992)   (Correct)

No context found.

Knight, Tom. "An Architecture for Mostly Functional Languages". Proc. ACM Conf. on Lisp & Funct. Progr., MIT, Aug. 1986,105-112.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC