Reducing Scheduling Overheads for Concurrent Logic Programs

نویسندگان

  • Andy King
  • Paul Soper
چکیده

Strictness analysis is crucial for the efficient implementation of the lazy flmctionM languages. A related technique for the concurrent logic languages (CLLs) called schedule analysis is presented which divides at compile-time a CLL program into threads of totally ordered atoms, whose relative ordering is determined at run-time. The technique enables the enqueuing and dequeuing of processes to be reduced, synchronisation tests to be partially removed, introduces the possibility of using unboxed arguments, and permits variables to be migrated from a heap to a stack to affect a form of compile-time garbage collection. The implementation is outlined and some preliminary results are given.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Semantics-Based Analysis for Optimizing Compilation of Concurrent Programs

Concurrent programming languages provide a paradigm for describing programs with complicated communication networks in a clear way. They support the creation of multiple computational units called processes that run concurrently in a program together with the mechanism for communication between processes, thereby simplifying the programming of synchronization and communication. Among them, conc...

متن کامل

Towards Granularity Based Control of Parallelism in Logic Programs

Several types of parallelism can be exploited in logic programs while preserving correctness and efficiency, i.e. ensuring that the parallel execution obtains the same results as the sequential one and the amount of work performed is not greater. However, such results do not take into account a number of overheads which appear in practice, such as process creation and scheduling, which can indu...

متن کامل

A Methodology for Granularity-Based Control of Parallelism in Logic Programs

Several types of parallelism can be exploited in logic programs while preserving correctness and efficiency, i.e. ensuring that the parallel execution obtains the same results as the sequential one and the amount of work performed is not greater. However, such results do not take into account a number of overheads which appear in practice, such as process creation and scheduling, which can indu...

متن کامل

Minimizing the overheads of dependent {AND}-parallelism

Parallel implementations of programming languages need to control synchronization overheads. Synchronization is essential for ensuring the correctness of parallel code, yet it adds overheads that aren’t present in sequential programs. This is an important problem for parallel logic programming systems, because almost every action in such programs requires accessing variables, and the traditiona...

متن کامل

Automatic Optimization of Dynamic Scheduling in Logic Programs

Many modern logic programming languages provide more flexible scheduling than the Prolog traditional left-to-right computation rule. Computation generally also proceeds following some ñxed scheduling rule but certain goals are dynamically "delayed" until their arguments are sufficiently instantiated to allow the cali to run efliciently. This general form of scheduling is referred to as dynamic ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1991