Plans for the Future
Conformance
The only functionality left to be implemented for Functional
and Full Conformance is peer-to-peer connection management.
Core Functionality
The major items we are planning for M-VIA 2.0 are:
- Better native VIA hardware support. (The major feature of 2.0)
- Support for M-VIA on the Alpha processor.
- Reliable delivery.
- Thread safe VIPL.
- M-VIA VIPL kernel bindings.
Additional Drivers
Support for the following devices is planned.
Applications
- MPI over VIA.
- Port Intel VIA Performance Suite to Linux.
- Port Intel VI Architecture Example Application Code to Linux.
General TODOs
The following is the list of known ToDo items. These will incorporated into
minor releases.
High Priority
- Add more robust flow-control (in progress).
- Add additional device support per users request.
- Clean up prototype Ethernet Ring code (in progress).
- Complete implementation documentation.
Medium Priority
- Write permanent connection management routines.
(The routines have been rewritten, but are a prototype implementation.)
- Reorganize
vipk_ops.c.
- Divide
vipk.h
into more logical components.
- Add Pentium profiling support and profile code.
- Perform optimization of critical paths.
- Conditionally compile paranoid checking required by the conformance
suite.
- Add additional hooks to better support native VIA hardware.
- Summarize specification problems and questions identified by SPEC tags
in the source code.
- Use debugging malloc/free code to check for memory leaks.
Low Priority
- Improve name service routines.
- Add additional run time checks to internal kernel functions.
- Add command line module switches to configure run-time behavior of modules.
- Rename the Vipk*Cq functions to Vipk*CQ for consistency.
- Move VIP_NET_ADDRESS from NIC structure as it is now only used during
the VipQueryNic call.
- Reorganize
vipl_private.h
into separate modules.
- Group VIPL routines into grouped source files rather than one file
per function.
- Allocate an unused entry from a fixed-size table of N entries using an
O(1) algorithm rather than O(N). This affects M-VIA in many places.
BUGS
This is a partial list of known bugs which are not known to be fixed
(thought they might have been fixed incidentally as
the result of other changes).
- There is/was a bug where a SendWait() which failed to catch the
completion in the spin wait phase would not properly wake up from
the sleep when the send completed. If the timeout was not VIP_INFINITE
then when the sleep timed-out the completion would finally be detected.
Somehow this bug mysteriously disappeared when unrelated changes were
made. Thus this bug might be fixed or might just currently be hidden.
- Passing invalid CQ handles to some functions might result in a
kernel panic.
- The eepro100 driver keeps TX statistics (packets and bytes sent)
for normal IP traffic, but not for M-VIA traffic.
- The yellowfin driver fails to keep TX byte counts for both IP
and M-VIA traffic.
- There might still be memory leaks.
M-VIA 1.0. Fri, 17 Sep 1999 09:13:43 -0700.
Copyright (C) 1998,1999 Berkeley Lab.