)HDWXUH $UWLFOH
129(// $33127(6
.94-07
0XOWLSURFHVVLQJ6XSSRUWLQ
1HW:DUH
.HYLQ %XUQHWW
6HQLRU 5HVHDUFK (QJLQHHU
1RYHOO $SS1RWHV
NEXUQHWW#QRYHOOFRP
NetWare 6 is a reliable, highly-scalable version of NetWare which takes
advantage of high-powered Multi-Processor (MP) server hardware by
MP-enabling the complete packet transfer from the wire to the storage media.
This AppNote provides background information about NetWare 6’s MP
functionality and explains how MP-enabled programs run on NetWare 6. It details
the MP-related improvements made in NetWare 6 and discusses development
opportunities for the new OS.
&RQWHQWV
• A Short History of NetWare MP
• NetWare 6 MP Functionality
• Running Programs on NetWare 6
• Improvements in NetWare 6 Multiprocessing
• Development Opportunities for NetWare 6 MP
• Conclusion
7RSLFV QHWZRUN SURJUDPPLQJ 1HW:DUH PXOWLSURFHVVLQJ
3URGXFWV 1HW:DUH
$XGLHQFH QHWZRUN DGPLQLVWUDWRUV LQWHJUDWRUV GHYHORSHUV
/HYHO EHJLQQHU
3UHUHTXLVLWH 6NLOOV IDPLOLDULW\ ZLWK QHWZRUNLQJ EDVLFV
2SHUDWLQJ 6\VWHP 1HW:DUH
7RROV 1RYHOO .HUQHO 6HUYLFHV 1.6 1'.
doing the work that up to six separate servers used to do.
As shipped, NetWare 6 includes the following MP-enabled components:
3URWRFRO 6WDFNV
1HW:DUH &RUH 3URWRFROV 1&3
6HUYLFH /RFDWLRQ 3URWRFROV 6/3
,3 6WDFN
+773
(WKHUQHW &RQQHFWLYLW\
7RNHQ 5LQJ &RQQHFWLYLW\
:HEEDVHG 'LVWULEXWHG $XWKRULQJ DQG 9HUVLRQLQJ :HE'$9
/LJKWZHLJKW 'LUHFWRU\ $FFHVV 3URWRFRO /'$3
2FWREHU
Before we discuss MP and the way it is implemented in NetWare 6, a discussion
of threads is in order. This is because to truly understand MP, you need to
understand threads.
7KUHDGV LQ 1HW:DUH
Ever since NetWare was first released, it has used the concept of threads to allow
the NetWare OS to work efficiently. A thread is simply a NetWare OS process,
but in technical terms a process is slightly different from a thread. A process
typically saves most of the processor’s state when it is swapped out, while a
thread typically saves less of the processor’s state. What’s more, processes are
usually preemptive (they take control of all resources, but can be interrupted)
compared to threads, which are nonpreemptive (they run to completion).
The NetWare OS schedules different threads to run in its Run queue. The threads
are executed in a first-in first-out (FIFO) order. In addition, the NetWare OS
allows NetWare Loadable Module (NLM) applications to establish multiple
threads, each representing a distinct path of execution. An NLM has to contain
one thread at the minimum, but typically will contain two or more threads.
Only one thread can run at a time. While the thread is running, it has control of the
can’t execute more than one thread at one time. Even if you have a multi-CPU
computer, you will not be able to exploit the additional CPUs unless you have
applications that are specifically written to be multi-processor compliant or
MP-enabled. MP-enabled applications are programmed in such a way that their
threads can safely execute simultaneously on multiple processors. With NetWare
6 and properly programmed MP-enabled applications, multitasking becomes a
reality. Your applications can execute multiple threads on multiple processors at
the same time!
6HUYHU +DUGZDUH 6SHFLILFDWLRQV
To get the most out of what NetWare 6 has to offer, appropriate hardware is a
must. NetWare 6 supports hardware that is designed around Intel’s Multi-
Processor Specification (MPS) v1.4. This specification is used by PC
manufacturers to design and build Intel-based systems that use two or more
processors. The current version (1.4) includes support for multiple PCI buses,
future expandability, and up to 32 processors (see Figure 1).
Figure 1: 036 KDUGZDUH EXV
.94-07
As seen in Figure 1, MPS v1.4 defines a specification where all of the processors
in the system work and function together similarly. All the processors in the
system share a common I/O subsystem and also use the same memory pool.
MPS-compatible operating systems are able to run without special customization
on multiprocessor systems that comply with this specification. End-users who
purchase a compliant multiprocessor system will be able to run their choice of
operating systems.
Since NetWare 6 complies with Intel’s specification, it will automatically take
advantage of all the processors in your MPS hardware—provided the MPS
hardware supports the Intel specification. That really shouldn’t be a problem since
the major computer manufacturers, such as Dell and Compaq, support the
specification.