The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 1.844 - 2019-08-14

  • Resolved MCE stalling when specifying max_retries with init_relay. Ditto for loop_timeout with init_relay on UNIX platforms. Thank you, Chris Denley.
  • Enhanced loop_timeout to handle workers dieing uncontrollably from any user_tasks (i.e. task_id >= 0). Previously, only task_id == 0.
  • Improved IPC on the Windows platform for edge case when a worker is awaiting input while the manager process is restarting a worker.
  • MCE, MCE::Child workers exit immediately upon receiving a SIGSEGV signal. This safeguards IPC from stalling inside the manager process.
  • Enhanced the _wait_one private function in MCE::Child.
  • Removed Prima from the list for auto-enabling the posix_exit option. Prima (since 1.52) is parallel safe during global cleanup.
  • Reached 100% Pod coverage.

Documentation

Documentation describing the core MCE API
Various examples and demonstrations

Modules

MCE
Many-Core Engine for Perl providing parallel processing capabilities
Sugar methods and output iterators
Queue-like and two-way communication capability
Channel for producer(s) and many consumers
Channel tuned for one producer and one consumer
Channel for producer(s) and many consumers
A threads-like parallelization module compatible with Perl 5.8
Sequence of numbers (for task_id > 0)
File path and Scalar reference input reader
Iterator reader
Array reference and Glob reference input reader
Sequence of numbers (for task_id == 0)
Core methods for the manager process
Core validation methods for Many-Core Engine
Core methods for the worker process
Parallel flow model for building creative applications
Parallel grep model similar to the native grep function
MCE model for building parallel loops
Parallel map model similar to the native map function
Locking for Many-Core Engine
Mutex locking via a pipe or socket
Provides two mutexes using a single channel
Mutex locking via Fcntl
Hybrid (normal and priority) queues
Extends Many-Core Engine with relay capabilities
Temporary directory creation/cleanup and signal handling
Parallel step model for building creative steps
Parallel stream model for chaining multiple maps and greps
Exports functions mapped directly to MCE methods
Utility functions