N-Prolog version3.60
N-Prolog ver3.60 Release Notes
N-Prolog ver3.60 has been released! This release introduces major improvements, particularly the support for tree-structured networks, enabling recursive parallelism. This makes it easier to operate in cluster environments. Below are the key new features.
New Features
-
Support for Tree-Structured Networks
- Functions like dp_compile/1 are now compatible with tree-structured networks. This allows easy command propagation to child, grandchild, and further descendant machines.
- Hierarchical parallelism in cluster environments is now more straightforward.
-
Parallel Computation Control
- The new function dp_close/0 has been added. This ensures that all child and grandchild machines terminate properly, and ultimately shuts down the operating system on the parent machine. This feature provides consistent shutdown handling in cluster environments.
-
Timing Adjustment Features
- dp_wait/1 has been introduced, allowing you to adjust the start-up timing of child and grandchild machines. This helps in synchronizing parallel tasks within the cluster.
-
Improved Network Mode
- When starting N-Prolog in network mode, it automatically executes network.pl, ensuring the parallel computation starts at the correct time.
- dp_create/1 allows explicit connections to be set up with grandchildren, facilitating efficient network communication.
-
Auto-Startup Feature (Linux)
- With N-Prolog, you can now leverage Linux's auto-start feature to power on the parent, child, and grandchild machines all at once. This simplifies the setup of cluster systems.
Features
- N-Prolog operates outside the CSP (Communicating Sequential Processes) paradigm, simplifying communication timing and enabling parallel computation directly in Prolog's standard syntax. This avoids the complexity of CSP, making parallel computation easier to implement.
- While the scope of parallel computation may be limited, N-Prolog emphasizes an approach that leverages Prolog’s core characteristics. Prolog's close alignment with human thought processes allows for parallel computation without necessarily targeting general-purpose parallelism.
Future Directions
- N-Prolog will continue to explore non-CSP approaches for parallel computation. The goal is to develop a more intuitive and understandable parallel processing model, without relying on the complexities of CSP.
This new version adds significant functionality to simplify parallel computation, especially in cluster environments. We hope that you will make use of N-Prolog’s simple and flexible parallel computation features in your projects going forward.