US9270635B2 - Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter - Google Patents

Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter Download PDF

Info

Publication number
US9270635B2
US9270635B2 US14/063,029 US201314063029A US9270635B2 US 9270635 B2 US9270635 B2 US 9270635B2 US 201314063029 A US201314063029 A US 201314063029A US 9270635 B2 US9270635 B2 US 9270635B2
Authority
US
United States
Prior art keywords
vpi
data communications
adapter
communications protocol
operating system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US14/063,029
Other versions
US20150121053A1 (en
Inventor
Jarrod B. Johnson
Edward S. Suffern
Andrew H. Wray
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo International Ltd
Original Assignee
Lenovo Enterprise Solutions Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Enterprise Solutions Singapore Pte Ltd filed Critical Lenovo Enterprise Solutions Singapore Pte Ltd
Priority to US14/063,029 priority Critical patent/US9270635B2/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JOHNSON, JARROD B., SUFFERN, EDWARD S., WRAY, ANDREW H.
Assigned to LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD. reassignment LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Publication of US20150121053A1 publication Critical patent/US20150121053A1/en
Application granted granted Critical
Publication of US9270635B2 publication Critical patent/US9270635B2/en
Assigned to LENOVO INTERNATIONAL LIMITED reassignment LENOVO INTERNATIONAL LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Assigned to LENOVO INTERNATIONAL LIMITED reassignment LENOVO INTERNATIONAL LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • H04L61/2015
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Definitions

  • the field of the invention is data processing, or, more specifically, methods, apparatus, and products for loading an operating system of a diskless compute node using a single Virtual Protocol Interconnect (‘VPI’) adapter.
  • VPN Virtual Protocol Interconnect
  • Modern computing systems can include many compute nodes that operate independently of each other.
  • One example of such a computing system is a blade center that includes a large number of blade servers. It can be desirable to reduce the hardware resources in each compute node, as hardware resources can be expensive and space-consuming.
  • Loading such an operating system of a diskless compute node may include: setting, by a VPI firmware module during startup of the compute node, an operational mode of the VPI adapter to operate in accordance with a first data communications protocol, the VPI adapter including a preboot execution environment module that supports the first data communications protocol prior to loading an operating system and a driver for the first data communications protocol; retrieving, by the VPI firmware module from a network source via the VPI adapter in accordance with the first data communications protocol, the operating system and a driver for the second data communications protocol; and responsive to loading the operating system and the driver for the second data communications protocol, switching, by the VPI firmware module, the operational mode of the VPI adapter to operate in accordance with the second data communications protocol.
  • FIG. 1 sets forth a block diagram of automated computing machinery comprising an example diskless compute node for which an operating system may be loaded using a single VPI adapter according to embodiments of the present invention.
  • FIG. 2 sets forth a flow chart illustrating an example method for loading an operating system of a diskless compute node using a single VPI adapter according to embodiments of the present invention.
  • FIG. 3 sets forth a flow chart illustrating an additional example method for loading an operating system of a diskless compute node using a single VPI adapter according to embodiments of the present invention.
  • FIG. 1 sets forth a block diagram of automated computing machinery comprising an example diskless compute node ( 208 ) for which an operating system ( 154 ) may be loaded using a single VPI adapter ( 210 ) according to embodiments of the present invention.
  • FIG. 1 includes at least one computer processor ( 156 ) or ‘CPU’ as well as random access memory ( 168 ) (‘RAM’) which is connected through a high speed memory bus ( 166 ) and bus adapter ( 158 ) to processor ( 156 ) and to other components of the compute node ( 208 ).
  • processor 156
  • RAM random access memory
  • the compute node ( 208 ) of FIG. 1 is ‘diskless’ in the sense that the compute node ( 208 ) does not include a primary boot device, such as a hard disk drive. As such, the compute node ( 208 ), at the time of startup, does not include an operating system ( 154 ) stored in a hard disk drive. Because the compute node ( 208 ) of FIG. 1 does not have a hard disk drive or other form of non-volatile computer memory upon which an operating system ( 154 ) is traditionally stored, the operating system ( 154 ) must be retrieved from remote storage such as a file server ( 106 ).
  • the compute node ( 208 ) of FIG. 1 does include some form of non-volatile computer memory, depicted in this example as flash memory ( 134 ).
  • the flash memory ( 134 ) may be embodied as an electronic non-volatile computer storage device that can be electrically erased and reprogrammed.
  • the flash memory ( 134 ) of FIG. 1 includes firmware ( 136 ) stored on the flash memory ( 134 ).
  • firmware ( 136 ) can include computer program instructions for controlling the execution of various devices within the compute node ( 208 ).
  • the flash memory ( 134 ) of FIG. 1 also includes a VPI firmware module ( 216 ).
  • the VPI firmware module ( 216 ) of FIG. 1 may be embodied as a module of computer program instructions for configuring a VPI adapter ( 210 ) and for retrieving and loading an operating system ( 154 ) from remote storage via the VPI adapter ( 210 ).
  • the compute node ( 208 ) of FIG. 1 includes a VPI adapter ( 210 ).
  • the VPI adapter ( 210 ) of FIG. 1 is a data communications adapter that supports data communications with multiple types of data communications switches such that a compute node ( 208 ) that includes a VPI adapter ( 210 ) can support data communications over multiple types of data communications networks.
  • the VPI adapter ( 210 ) can support connectivity with Ethernet switches, InfiniBand switches, emerging Data Center Ethernet switches, InfiniBand to Ethernet and Fibre Channel Gateways, and Ethernet to Fibre Channel gateways.
  • the compute node ( 208 ) of FIG. 1 can load an operating system in a diskless compute node ( 208 ) using a single VPI adapter ( 210 ) according to embodiments of the present invention by setting, by the VPI firmware module ( 216 ) during startup of the compute node ( 208 ), an operational mode of the VPI adapter ( 210 ) to operate in accordance with a first data communications protocol.
  • the operational mode of the VPI adapter ( 210 ) can specify the data communications protocol that will be used by the VPI adapter ( 210 ) for data communications with other computers over a data communications network.
  • the operational mode of the VPI adapter ( 210 ) may initially be set such that the VPI adapter ( 210 ) will communicate with other computers over a data communications network using the Ethernet protocol.
  • Setting the operational mode of the VPI adapter ( 210 ) may be carried out, for example, by the VPI firmware module ( 216 ) sending a message to the VPI adapter ( 210 ) during startup of the compute node ( 208 ), where the message includes a value that identifies a particular operational mode.
  • the VPI adapter ( 210 ) of FIG. 1 can include a preboot execution environment module that supports the first data communications protocol prior to loading an operating system ( 154 ) and a driver for the first data communications protocol.
  • the preboot execution environment module may be embodied, for example, as a preboot execution environment (‘PXE’) read-only memory (‘ROM’) that includes enough Ethernet firmware to access a Dynamic Host Control Protocol (‘DHCP’) server ( 104 ) to acquire an IP address and load a full Ethernet driver.
  • the preboot execution environment module may support the first data communications protocol (e.g., Ethernet protocol) prior to loading an operating system ( 154 ) and also prior to loading a driver for the first data communications protocol.
  • the compute node ( 208 ) of FIG. 1 can further load an operating system in a diskless compute node ( 208 ) using a single VPI adapter ( 210 ) by retrieving, by the VPI firmware module ( 216 ) from a network source via the VPI adapter ( 210 ), the operating system ( 204 ) and a driver ( 206 ) for the second data communications protocol.
  • the network source is depicted as being a file server ( 106 ) that includes one or more operating systems ( 154 ), device drivers, and other files for use by the compute node ( 208 ).
  • Retrieving the operating system ( 154 ) and a driver for the second data communications protocol may be carried out, for example, once the compute node ( 208 ) has accessed the DHCP server ( 104 ) to acquire an IP address and load a full Ethernet driver.
  • the compute node ( 208 ) can access the file server ( 106 ) via the VPI adapter ( 210 ) using the Ethernet protocol.
  • the compute node ( 208 ) can subsequently download the operating system ( 154 ) and a driver for the second data communications protocol, such as the InfiniBand protocol, from the file server ( 106 ).
  • the operating system ( 154 ) and the driver for the second data communications protocol may be retrieved via the VPI adapter ( 210 ) in accordance with the first data communications protocol (e.g., Ethernet protocol).
  • the compute node ( 208 ) of FIG. 1 can further load an operating system ( 154 ) in a diskless compute node ( 208 ) using a single VPI adapter ( 210 ) by switching, by the VPI firmware module ( 216 ), the operational mode of the VPI adapter ( 210 ) to operate in accordance with the second data communications protocol.
  • Switching the operational mode of the VPI adapter ( 210 ) to operate in accordance with a second data communications protocol such as the InfiniBand protocol may be carried out, for example, by the VPI firmware module ( 216 ) sending a message to the VPI adapter ( 210 ), where the message includes a value that identifies a particular operational mode.
  • the VPI adapter ( 210 ) may support loading the operating system ( 154 ) in accordance with the first data communications protocol and also subsequently support ongoing data communications in accordance with the second data communications protocol. Switching the operational mode of the VPI adapter ( 210 ) to operate in accordance with the second data communications protocol may be carried out in response to loading the operating system ( 154 ) and the driver for the second data communications protocol.
  • the VPI adapter ( 210 ) of the compute node ( 208 ) is coupled to a VPI switch ( 102 ).
  • the VPI switch ( 102 ) is coupled to the DHCP server ( 104 ), the file server ( 106 ), and to a compute network ( 108 ) that can include additional compute nodes.
  • the VPI switch ( 102 ) can facilitate data communications connectivity between the compute node ( 208 ), the DHCP server ( 104 ), the file server ( 106 ), and the compute network ( 108 ).
  • the VPI switch ( 102 ) of FIG. 1 can include a variety of data communications interfaces and data communications ports.
  • the DHCP server ( 104 ) and the file server ( 106 ) may be coupled to the VPI switch ( 102 ) via Ethernet ports that are included in the VPI switch ( 102 ) while the compute network ( 108 ) is coupled to the VPI switch ( 102 ) via InfiniBand ports that are included in the VPI switch ( 102 ).
  • the VPI switch ( 102 ) may also include a VPI interface and VPI ports through which the VPI adapter ( 210 ) of the compute node ( 208 ) may be coupled for data communications with the VPI switch ( 102 ).
  • the example compute node ( 208 ) of FIG. 1 includes one or more input/output (‘I/O’) adapters ( 178 ).
  • I/O adapters implement user-oriented input/output through, for example, software drivers and computer hardware for controlling output to display devices such as computer display screens, as well as user input from user input devices ( 181 ) such as keyboards and mice.
  • the example compute node ( 208 ) of FIG. 1 includes a video adapter ( 209 ), which is an example of an I/O adapter specially designed for graphic output to a display device ( 180 ) such as a display screen or computer monitor.
  • Video adapter ( 209 ) is connected to processor ( 156 ) through a high speed video bus ( 164 ), bus adapter ( 158 ), and the front side bus ( 162 ), which is also a high speed bus.
  • the compute node ( 208 ) of FIG. 1 also includes volatile memory, depicted here as RAM ( 168 ).
  • RAM ( 168 ) Stored in RAM ( 168 ) is an operating system ( 154 ) that is loaded after startup of the compute node ( 208 ).
  • Operating systems for use by the compute node ( 208 ) can include UNIXTM, LinuxTM, Microsoft Windows 7TM, Microsoft XPTM, AIXTM, IBM's i5/OSTM, and others as will occur to those of skill in the art.
  • FIG. 2 sets forth a flow chart illustrating an example method for loading an operating system ( 204 ) of a diskless compute node ( 208 ) using a single VPI adapter ( 210 ) according to embodiments of the present invention.
  • the operating system ( 204 ) must be retrieved from remote storage—computer memory that resides outside of the compute node ( 208 )—by virtue of the diskless nature of the compute node ( 208 ). That is, because the compute node ( 208 ) of FIG. 2 does not have a disk drive or other form of non-volatile computer memory upon which the operating system ( 204 ) is stored, the operating system ( 204 ) must be retrieved from remote storage.
  • the example method of FIG. 2 is carried out by a VPI firmware module ( 216 ).
  • the VPI firmware module ( 216 ) of FIG. 2 may be embodied as a module of computer program instructions executing on computer hardware.
  • the VPI firmware module ( 216 ) may include computer program instructions for configuring a VPI adapter ( 210 ) and for retrieving and loading the operating system ( 204 ) from remote storage via the VPI adapter ( 210 ).
  • the VPI firmware module ( 216 ) of FIG. 2 may be stored in computer memory such as flash memory, an EEPROM, or other special purpose non-volatile memory for storing special purpose firmware modules such as the VPI firmware module ( 216 ).
  • the compute node ( 208 ) of FIG. 2 includes a VPI adapter ( 210 ).
  • the VPI adapter ( 210 ) of FIG. 2 is a data communications adapter that supports data communications with multiple types of data communications switches such that a compute node ( 208 ) that includes a VPI adapter ( 210 ) can support data communications over multiple types of data communications network.
  • the VPI adapter ( 210 ) can support connectivity with Ethernet switches, InfiniBand switches, emerging Data Center Ethernet switches, InfiniBand to Ethernet and Fibre Channel Gateways, and Ethernet to Fibre Channel gateways.
  • the example method of FIG. 2 includes setting ( 218 ), by the VPI firmware module ( 216 ) during startup of the compute node ( 208 ), an operational mode ( 212 ) of the VPI adapter ( 210 ).
  • the operational mode ( 212 ) of the VPI adapter ( 210 ) is set ( 218 ) to operate in accordance with a first data communications protocol such that the operational mode ( 212 ) of the VPI adapter ( 210 ) can specify the data communications protocol that will be used by the VPI adapter ( 210 ) for data communications with other computers over a data communications network.
  • the operational mode ( 212 ) of the VPI adapter ( 210 ) may initially be set ( 218 ) such that the VPI adapter ( 210 ) will communicate with other computers over a data communications network using the Ethernet protocol.
  • setting ( 218 ) the operational mode ( 212 ) of the VPI adapter ( 210 ) may be carried out, for example, by the VPI firmware module ( 216 ) sending a message to the VPI adapter ( 210 ) during startup of the compute node ( 208 ), where the message includes a value that identifies a particular operational mode ( 212 ).
  • the VPI adapter ( 210 ) of FIG. 2 includes a preboot execution environment module ( 214 ) that supports the first data communications protocol prior to loading an operating system and a driver for the first data communications protocol.
  • the preboot execution environment module ( 214 ) may be embodied, for example, as a preboot execution environment (‘PXE’) ROM that includes enough Ethernet firmware to access a Dynamic Host Control Protocol (‘DHCP’) server to acquire an IP address and load a full Ethernet driver.
  • the preboot execution environment module ( 214 ) may therefore support the first data communications protocol (e.g., Ethernet protocol) prior to loading an operating system and also prior to loading a driver for the first data communications protocol.
  • the first data communications protocol e.g., Ethernet protocol
  • the example method of FIG. 2 also includes retrieving ( 220 ), by the VPI firmware module ( 216 ) from a network source ( 202 ) via the VPI adapter ( 210 ), the operating system ( 204 ) and a driver ( 206 ) for the second data communications protocol.
  • the network source ( 202 ) may be embodied, for example, as a file server that includes one or more operating systems ( 204 ), device drivers ( 206 ), and other files for use by the compute node ( 208 ).
  • Retrieving ( 220 ) the operating system ( 204 ) and a driver ( 206 ) for the second data communications protocol may be carried out, for example, once the compute node ( 208 ) has accessed a DHCP server to acquire an IP address and load a full Ethernet driver.
  • the full Ethernet driver has been loaded such that the compute node ( 208 ) can access a file server via the VPI adapter ( 210 ) using the Ethernet protocol and download the operating system ( 204 ) and a driver ( 206 ) for the second data communications protocol such as the InfiniBand protocol.
  • the operating system ( 204 ) and the driver ( 206 ) for the second data communications protocol may be retrieved ( 220 ) via the VPI adapter ( 210 ) in accordance with the first data communications protocol (e.g., Ethernet protocol).
  • the first data communications protocol e.g., Ethernet protocol
  • the example method of FIG. 2 also includes loading ( 221 ) the operating system ( 204 ) and the driver ( 206 ) for the second data communications protocol.
  • loading ( 221 ) the operating system ( 204 ) may be carried out, for example, by writing the operating system ( 204 ) to volatile RAM in the compute node ( 208 ).
  • FIG. 2 In the example method of FIG.
  • loading ( 221 ) the driver ( 206 ) for the second data communications protocol may be carried out, for example, by writing the driver ( 206 ) for the second data communications protocol to memory on the VPI adapter ( 210 ), by writing the driver ( 206 ) for the second data communications protocol to memory accessible by the VPI adapter ( 210 ), and in other ways as will occur to those of skill in the art.
  • the example method of FIG. 2 also includes switching ( 222 ), by the VPI firmware module ( 216 ), the operational mode ( 212 ) of the VPI adapter ( 210 ) to operate in accordance with the second data communications protocol.
  • switching ( 222 ) the operational mode ( 212 ) of the VPI adapter ( 210 ) to operate in accordance with a second data communications protocol such as the InfiniBand protocol may be carried out, for example, by the VPI firmware module ( 216 ) sending a message to the VPI adapter ( 210 ), where the message includes a value that identifies a particular operational mode ( 212 ).
  • the VPI adapter ( 210 ) may support loading the operating system ( 204 ) in accordance with the first data communications protocol and subsequently support ongoing data communications in accordance with the second data communications protocol.
  • switching ( 222 ) the operational mode ( 212 ) of the VPI adapter ( 210 ) to operate in accordance with the second data communications protocol is carried out in response to loading the operating system ( 204 ) and the driver ( 206 ) for the second data communications protocol.
  • FIG. 3 sets forth a flow chart illustrating an additional example method for loading an operating system ( 204 ) of a diskless compute node ( 208 ) using a single VPI adapter ( 210 ) according to embodiments of the present invention.
  • the example method of FIG. 3 is similar to the example method of FIG.
  • VPI adapter 2 as it also includes setting ( 218 ) an operational mode ( 212 ) of the VPI adapter ( 210 ), retrieving ( 220 ) the operating system ( 204 ) and a driver ( 206 ) for the second data communications protocol, loading ( 221 ) the operating system ( 204 ) and the driver ( 206 ) for the second data communications protocol, and switching ( 222 ) the operational mode ( 212 ) of the VPI adapter ( 210 ) to operate in accordance with the second data communications protocol.
  • the example method of FIG. 3 also includes obtaining ( 308 ), by the VPI firmware module ( 216 ) from a DHCP server ( 308 ), a network address ( 304 ) and the driver ( 306 ) for the first data communications protocol.
  • the VPI adapter ( 210 ) may include a PXE ROM that includes enough Ethernet firmware to access the DHCP server ( 308 ) to acquire an IP address and a full Ethernet driver.
  • the VPI firmware module ( 216 ) may obtain ( 308 ) the network address ( 304 ) and the driver ( 306 ) for the first data communications protocol via the VPI adapter ( 210 ) in accordance with the first data communications protocol.
  • the example method of FIG. 3 also includes loading ( 310 ) the driver ( 306 ) for the first data communications protocol.
  • loading ( 310 ) the driver ( 306 ) for the first data communications protocol may be carried out by writing the driver ( 306 ) for the first data communications protocol to memory on the VPI adapter ( 210 ), by writing the driver ( 306 ) for the first data communications protocol to memory that is accessible by the VPI adapter ( 210 ), and in other ways as will occur to those of skill in the art.
  • switching ( 222 ) the operational mode ( 212 ) of the VPI adapter ( 210 ) to operate in accordance with the second data communications protocol may include sending ( 312 ), by the VPI firmware module ( 216 ) to the VPI adapter ( 210 ), a value identifying the second data communications protocol.
  • the VPI adapter ( 210 ) can include a table or other data structure that associates values with a plurality of data communications protocols for use by the VPI adapter ( 210 ).
  • the VPI firmware module ( 216 ) can include a similar table or data structure and can therefore send ( 312 ) a value identifying the second data communications protocol to the VPI adapter ( 210 ).
  • the VPI firmware module ( 216 ) can send ( 312 ) a message to the VPI adapter ( 210 ) that includes the value identifying the second data communications protocol.
  • Example embodiments of the present invention are described largely in the context of a fully functional computer system for loading an operating system of a diskless compute node using a single Virtual Protocol Interconnect VPI adapter. Readers of skill in the art will recognize, however, that the present invention also may be embodied in a computer program product disposed upon computer readable storage media for use with any suitable data processing system.
  • Such computer readable storage media may be any storage medium for machine-readable information, including magnetic media, optical media, or other suitable media. Examples of such media include magnetic disks in hard drives or diskettes, compact disks for optical drives, magnetic tape, and others as will occur to those of skill in the art.
  • aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
  • the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
  • a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
  • a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.
  • a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
  • Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • LAN local area network
  • WAN wide area network
  • Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
  • These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Abstract

Loading an operating system of a diskless compute node using a single Virtual Protocol Interconnect (VPI) adapter, including: setting, by a VPI firmware module during startup of the compute node, an operational mode of the VPI adapter to operate in accordance with a first data communications protocol, the VPI adapter including a preboot execution environment module that supports the first data communications protocol prior to loading an operating system and a driver for the first data communications protocol; retrieving, by the VPI firmware module from a network source via the VPI adapter in accordance with the first data communications protocol, the operating system and a driver for the second data communications protocol; and responsive to loading the operating system and the driver for the second data communications protocol, switching the operational mode of the VPI adapter to operate in accordance with the second data communications protocol.

Description

CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation application of and claims priority from U.S. patent application Ser. No. 14/062,364, filed on Oct. 24, 2013.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, apparatus, and products for loading an operating system of a diskless compute node using a single Virtual Protocol Interconnect (‘VPI’) adapter.
2. Description of Related Art
Modern computing systems can include many compute nodes that operate independently of each other. One example of such a computing system is a blade center that includes a large number of blade servers. It can be desirable to reduce the hardware resources in each compute node, as hardware resources can be expensive and space-consuming.
SUMMARY OF THE INVENTION
Methods, apparatuses, and products for loading an operating system of a diskless compute node using a single VPI adapter are disclosed in this specification. Loading such an operating system of a diskless compute node may include: setting, by a VPI firmware module during startup of the compute node, an operational mode of the VPI adapter to operate in accordance with a first data communications protocol, the VPI adapter including a preboot execution environment module that supports the first data communications protocol prior to loading an operating system and a driver for the first data communications protocol; retrieving, by the VPI firmware module from a network source via the VPI adapter in accordance with the first data communications protocol, the operating system and a driver for the second data communications protocol; and responsive to loading the operating system and the driver for the second data communications protocol, switching, by the VPI firmware module, the operational mode of the VPI adapter to operate in accordance with the second data communications protocol.
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular descriptions of example embodiments of the invention as illustrated in the accompanying drawings wherein like reference numbers generally represent like parts of example embodiments of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 sets forth a block diagram of automated computing machinery comprising an example diskless compute node for which an operating system may be loaded using a single VPI adapter according to embodiments of the present invention.
FIG. 2 sets forth a flow chart illustrating an example method for loading an operating system of a diskless compute node using a single VPI adapter according to embodiments of the present invention.
FIG. 3 sets forth a flow chart illustrating an additional example method for loading an operating system of a diskless compute node using a single VPI adapter according to embodiments of the present invention.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
Example methods, apparatuses, and products for loading an operating system of a diskless compute node (208) using a single VPI adapter (210) in accordance with the present invention are described with reference to the accompanying drawings, beginning with FIG. 1. FIG. 1 sets forth a block diagram of automated computing machinery comprising an example diskless compute node (208) for which an operating system (154) may be loaded using a single VPI adapter (210) according to embodiments of the present invention. The compute node (208) of FIG. 1 includes at least one computer processor (156) or ‘CPU’ as well as random access memory (168) (‘RAM’) which is connected through a high speed memory bus (166) and bus adapter (158) to processor (156) and to other components of the compute node (208).
The compute node (208) of FIG. 1 is ‘diskless’ in the sense that the compute node (208) does not include a primary boot device, such as a hard disk drive. As such, the compute node (208), at the time of startup, does not include an operating system (154) stored in a hard disk drive. Because the compute node (208) of FIG. 1 does not have a hard disk drive or other form of non-volatile computer memory upon which an operating system (154) is traditionally stored, the operating system (154) must be retrieved from remote storage such as a file server (106).
The compute node (208) of FIG. 1 does include some form of non-volatile computer memory, depicted in this example as flash memory (134). In the example of FIG. 1, the flash memory (134) may be embodied as an electronic non-volatile computer storage device that can be electrically erased and reprogrammed. The flash memory (134) of FIG. 1 includes firmware (136) stored on the flash memory (134). Such firmware (136) can include computer program instructions for controlling the execution of various devices within the compute node (208). The flash memory (134) of FIG. 1 also includes a VPI firmware module (216). The VPI firmware module (216) of FIG. 1 may be embodied as a module of computer program instructions for configuring a VPI adapter (210) and for retrieving and loading an operating system (154) from remote storage via the VPI adapter (210).
The compute node (208) of FIG. 1 includes a VPI adapter (210). The VPI adapter (210) of FIG. 1 is a data communications adapter that supports data communications with multiple types of data communications switches such that a compute node (208) that includes a VPI adapter (210) can support data communications over multiple types of data communications networks. In particular, the VPI adapter (210) can support connectivity with Ethernet switches, InfiniBand switches, emerging Data Center Ethernet switches, InfiniBand to Ethernet and Fibre Channel Gateways, and Ethernet to Fibre Channel gateways.
The compute node (208) of FIG. 1 can load an operating system in a diskless compute node (208) using a single VPI adapter (210) according to embodiments of the present invention by setting, by the VPI firmware module (216) during startup of the compute node (208), an operational mode of the VPI adapter (210) to operate in accordance with a first data communications protocol. In such a way, the operational mode of the VPI adapter (210) can specify the data communications protocol that will be used by the VPI adapter (210) for data communications with other computers over a data communications network. For example, the operational mode of the VPI adapter (210) may initially be set such that the VPI adapter (210) will communicate with other computers over a data communications network using the Ethernet protocol. Setting the operational mode of the VPI adapter (210) may be carried out, for example, by the VPI firmware module (216) sending a message to the VPI adapter (210) during startup of the compute node (208), where the message includes a value that identifies a particular operational mode.
The VPI adapter (210) of FIG. 1 can include a preboot execution environment module that supports the first data communications protocol prior to loading an operating system (154) and a driver for the first data communications protocol. The preboot execution environment module may be embodied, for example, as a preboot execution environment (‘PXE’) read-only memory (‘ROM’) that includes enough Ethernet firmware to access a Dynamic Host Control Protocol (‘DHCP’) server (104) to acquire an IP address and load a full Ethernet driver. In such an example, the preboot execution environment module may support the first data communications protocol (e.g., Ethernet protocol) prior to loading an operating system (154) and also prior to loading a driver for the first data communications protocol.
The compute node (208) of FIG. 1 can further load an operating system in a diskless compute node (208) using a single VPI adapter (210) by retrieving, by the VPI firmware module (216) from a network source via the VPI adapter (210), the operating system (204) and a driver (206) for the second data communications protocol. In the example of FIG. 1, the network source is depicted as being a file server (106) that includes one or more operating systems (154), device drivers, and other files for use by the compute node (208). Retrieving the operating system (154) and a driver for the second data communications protocol may be carried out, for example, once the compute node (208) has accessed the DHCP server (104) to acquire an IP address and load a full Ethernet driver. In such an example, once the full Ethernet driver has been loaded, the compute node (208) can access the file server (106) via the VPI adapter (210) using the Ethernet protocol. The compute node (208) can subsequently download the operating system (154) and a driver for the second data communications protocol, such as the InfiniBand protocol, from the file server (106). In such a way, the operating system (154) and the driver for the second data communications protocol may be retrieved via the VPI adapter (210) in accordance with the first data communications protocol (e.g., Ethernet protocol).
The compute node (208) of FIG. 1 can further load an operating system (154) in a diskless compute node (208) using a single VPI adapter (210) by switching, by the VPI firmware module (216), the operational mode of the VPI adapter (210) to operate in accordance with the second data communications protocol. Switching the operational mode of the VPI adapter (210) to operate in accordance with a second data communications protocol such as the InfiniBand protocol may be carried out, for example, by the VPI firmware module (216) sending a message to the VPI adapter (210), where the message includes a value that identifies a particular operational mode. In such a way, the VPI adapter (210) may support loading the operating system (154) in accordance with the first data communications protocol and also subsequently support ongoing data communications in accordance with the second data communications protocol. Switching the operational mode of the VPI adapter (210) to operate in accordance with the second data communications protocol may be carried out in response to loading the operating system (154) and the driver for the second data communications protocol.
In the example embodiment depicted in FIG. 1, the VPI adapter (210) of the compute node (208) is coupled to a VPI switch (102). The VPI switch (102) is coupled to the DHCP server (104), the file server (106), and to a compute network (108) that can include additional compute nodes. In such a way, the VPI switch (102) can facilitate data communications connectivity between the compute node (208), the DHCP server (104), the file server (106), and the compute network (108). The VPI switch (102) of FIG. 1 can include a variety of data communications interfaces and data communications ports. For example, the DHCP server (104) and the file server (106) may be coupled to the VPI switch (102) via Ethernet ports that are included in the VPI switch (102) while the compute network (108) is coupled to the VPI switch (102) via InfiniBand ports that are included in the VPI switch (102). In addition, the VPI switch (102) may also include a VPI interface and VPI ports through which the VPI adapter (210) of the compute node (208) may be coupled for data communications with the VPI switch (102).
The example compute node (208) of FIG. 1 includes one or more input/output (‘I/O’) adapters (178). I/O adapters implement user-oriented input/output through, for example, software drivers and computer hardware for controlling output to display devices such as computer display screens, as well as user input from user input devices (181) such as keyboards and mice. The example compute node (208) of FIG. 1 includes a video adapter (209), which is an example of an I/O adapter specially designed for graphic output to a display device (180) such as a display screen or computer monitor. Video adapter (209) is connected to processor (156) through a high speed video bus (164), bus adapter (158), and the front side bus (162), which is also a high speed bus.
The compute node (208) of FIG. 1 also includes volatile memory, depicted here as RAM (168). Stored in RAM (168) is an operating system (154) that is loaded after startup of the compute node (208). Operating systems for use by the compute node (208) can include UNIX™, Linux™, Microsoft Windows 7™, Microsoft XP™, AIX™, IBM's i5/OS™, and others as will occur to those of skill in the art.
For further explanation, FIG. 2 sets forth a flow chart illustrating an example method for loading an operating system (204) of a diskless compute node (208) using a single VPI adapter (210) according to embodiments of the present invention. In the example method of FIG. 2, the operating system (204) must be retrieved from remote storage—computer memory that resides outside of the compute node (208)—by virtue of the diskless nature of the compute node (208). That is, because the compute node (208) of FIG. 2 does not have a disk drive or other form of non-volatile computer memory upon which the operating system (204) is stored, the operating system (204) must be retrieved from remote storage.
The example method of FIG. 2 is carried out by a VPI firmware module (216). The VPI firmware module (216) of FIG. 2 may be embodied as a module of computer program instructions executing on computer hardware. The VPI firmware module (216) may include computer program instructions for configuring a VPI adapter (210) and for retrieving and loading the operating system (204) from remote storage via the VPI adapter (210). The VPI firmware module (216) of FIG. 2 may be stored in computer memory such as flash memory, an EEPROM, or other special purpose non-volatile memory for storing special purpose firmware modules such as the VPI firmware module (216).
The compute node (208) of FIG. 2 includes a VPI adapter (210). The VPI adapter (210) of FIG. 2 is a data communications adapter that supports data communications with multiple types of data communications switches such that a compute node (208) that includes a VPI adapter (210) can support data communications over multiple types of data communications network. In particular, the VPI adapter (210) can support connectivity with Ethernet switches, InfiniBand switches, emerging Data Center Ethernet switches, InfiniBand to Ethernet and Fibre Channel Gateways, and Ethernet to Fibre Channel gateways.
The example method of FIG. 2 includes setting (218), by the VPI firmware module (216) during startup of the compute node (208), an operational mode (212) of the VPI adapter (210). In the example method of FIG. 2, the operational mode (212) of the VPI adapter (210) is set (218) to operate in accordance with a first data communications protocol such that the operational mode (212) of the VPI adapter (210) can specify the data communications protocol that will be used by the VPI adapter (210) for data communications with other computers over a data communications network. For example, the operational mode (212) of the VPI adapter (210) may initially be set (218) such that the VPI adapter (210) will communicate with other computers over a data communications network using the Ethernet protocol. In the example method of FIG. 2, setting (218) the operational mode (212) of the VPI adapter (210) may be carried out, for example, by the VPI firmware module (216) sending a message to the VPI adapter (210) during startup of the compute node (208), where the message includes a value that identifies a particular operational mode (212).
The VPI adapter (210) of FIG. 2 includes a preboot execution environment module (214) that supports the first data communications protocol prior to loading an operating system and a driver for the first data communications protocol. In the example method of FIG. 2, the preboot execution environment module (214) may be embodied, for example, as a preboot execution environment (‘PXE’) ROM that includes enough Ethernet firmware to access a Dynamic Host Control Protocol (‘DHCP’) server to acquire an IP address and load a full Ethernet driver. In such an example, the preboot execution environment module (214) may therefore support the first data communications protocol (e.g., Ethernet protocol) prior to loading an operating system and also prior to loading a driver for the first data communications protocol.
The example method of FIG. 2 also includes retrieving (220), by the VPI firmware module (216) from a network source (202) via the VPI adapter (210), the operating system (204) and a driver (206) for the second data communications protocol. In the example method of FIG. 2, the network source (202) may be embodied, for example, as a file server that includes one or more operating systems (204), device drivers (206), and other files for use by the compute node (208). Retrieving (220) the operating system (204) and a driver (206) for the second data communications protocol may be carried out, for example, once the compute node (208) has accessed a DHCP server to acquire an IP address and load a full Ethernet driver. In such an example, once the full Ethernet driver has been loaded such that the compute node (208) can access a file server via the VPI adapter (210) using the Ethernet protocol and download the operating system (204) and a driver (206) for the second data communications protocol such as the InfiniBand protocol. In such a way, the operating system (204) and the driver (206) for the second data communications protocol may be retrieved (220) via the VPI adapter (210) in accordance with the first data communications protocol (e.g., Ethernet protocol).
The example method of FIG. 2 also includes loading (221) the operating system (204) and the driver (206) for the second data communications protocol. In the example method of FIG. 2, loading (221) the operating system (204) may be carried out, for example, by writing the operating system (204) to volatile RAM in the compute node (208). In the example method of FIG. 2, loading (221) the driver (206) for the second data communications protocol may be carried out, for example, by writing the driver (206) for the second data communications protocol to memory on the VPI adapter (210), by writing the driver (206) for the second data communications protocol to memory accessible by the VPI adapter (210), and in other ways as will occur to those of skill in the art.
The example method of FIG. 2 also includes switching (222), by the VPI firmware module (216), the operational mode (212) of the VPI adapter (210) to operate in accordance with the second data communications protocol. In the example method of FIG. 2, switching (222) the operational mode (212) of the VPI adapter (210) to operate in accordance with a second data communications protocol such as the InfiniBand protocol may be carried out, for example, by the VPI firmware module (216) sending a message to the VPI adapter (210), where the message includes a value that identifies a particular operational mode (212). In such a way, the VPI adapter (210) may support loading the operating system (204) in accordance with the first data communications protocol and subsequently support ongoing data communications in accordance with the second data communications protocol. In the example method of FIG. 2, switching (222) the operational mode (212) of the VPI adapter (210) to operate in accordance with the second data communications protocol is carried out in response to loading the operating system (204) and the driver (206) for the second data communications protocol.
For further explanation, FIG. 3 sets forth a flow chart illustrating an additional example method for loading an operating system (204) of a diskless compute node (208) using a single VPI adapter (210) according to embodiments of the present invention. The example method of FIG. 3 is similar to the example method of FIG. 2 as it also includes setting (218) an operational mode (212) of the VPI adapter (210), retrieving (220) the operating system (204) and a driver (206) for the second data communications protocol, loading (221) the operating system (204) and the driver (206) for the second data communications protocol, and switching (222) the operational mode (212) of the VPI adapter (210) to operate in accordance with the second data communications protocol.
The example method of FIG. 3 also includes obtaining (308), by the VPI firmware module (216) from a DHCP server (308), a network address (304) and the driver (306) for the first data communications protocol. In the example method of FIG. 3, the VPI adapter (210) may include a PXE ROM that includes enough Ethernet firmware to access the DHCP server (308) to acquire an IP address and a full Ethernet driver. In such a way, the VPI firmware module (216) may obtain (308) the network address (304) and the driver (306) for the first data communications protocol via the VPI adapter (210) in accordance with the first data communications protocol.
The example method of FIG. 3 also includes loading (310) the driver (306) for the first data communications protocol. In the example method of FIG. 3, loading (310) the driver (306) for the first data communications protocol may be carried out by writing the driver (306) for the first data communications protocol to memory on the VPI adapter (210), by writing the driver (306) for the first data communications protocol to memory that is accessible by the VPI adapter (210), and in other ways as will occur to those of skill in the art.
In the example method of FIG. 3, switching (222) the operational mode (212) of the VPI adapter (210) to operate in accordance with the second data communications protocol may include sending (312), by the VPI firmware module (216) to the VPI adapter (210), a value identifying the second data communications protocol. In the example method of FIG. 3, the VPI adapter (210) can include a table or other data structure that associates values with a plurality of data communications protocols for use by the VPI adapter (210). In such an example, the VPI firmware module (216) can include a similar table or data structure and can therefore send (312) a value identifying the second data communications protocol to the VPI adapter (210). For example, the VPI firmware module (216) can send (312) a message to the VPI adapter (210) that includes the value identifying the second data communications protocol.
Example embodiments of the present invention are described largely in the context of a fully functional computer system for loading an operating system of a diskless compute node using a single Virtual Protocol Interconnect VPI adapter. Readers of skill in the art will recognize, however, that the present invention also may be embodied in a computer program product disposed upon computer readable storage media for use with any suitable data processing system. Such computer readable storage media may be any storage medium for machine-readable information, including magnetic media, optical media, or other suitable media. Examples of such media include magnetic disks in hard drives or diskettes, compact disks for optical drives, magnetic tape, and others as will occur to those of skill in the art. Persons skilled in the art will immediately recognize that any computer system having suitable programming means will be capable of executing the steps of the method of the invention as embodied in a computer program product. Persons skilled in the art will recognize also that, although some of the example embodiments described in this specification are oriented to software installed and executing on computer hardware, nevertheless, alternative embodiments implemented as firmware or as hardware are well within the scope of the present invention.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It will be understood from the foregoing description that modifications and changes may be made in various embodiments of the present invention without departing from its true spirit. The descriptions in this specification are for purposes of illustration only and are not to be construed in a limiting sense. The scope of the present invention is limited only by the language of the following claims.

Claims (5)

What is claimed is:
1. A method comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory including computer program instructions that, when executed by the computer processor, cause the steps of:
setting during startup of the compute node, an operational mode of a VPI adapter to operate in accordance with a first data communications protocol, the VPI adapter is a data communication adapter including a preboot execution environment module located in memory of the VPI adapter that supports the first data communications protocol prior to loading an operating system and prior to loading a driver for the first data communications protocol;
obtaining from a dynamic host control protocol (‘DHCP’) server, a network address and the driver for the first data communications protocol; and
loading the driver for the first data communications protocol;
retrieving from a network source via the VPI adapter in accordance with the first data communications protocol, the operating system and a driver for the second data communications protocol;
loading the operating system and the driver for the second data communications protocol; and
responsive to loading the operating system and the driver for the second data communications protocol, switching the operational mode of the VPI adapter to operate in accordance with the second data communications protocol.
2. The method of claim 1 wherein the first data communications protocol is an Ethernet protocol and the second data communications protocol is an Infiniband protocol.
3. The method of claim 1 wherein the VPI adapter is coupled for data communications with the network source via a VPI switch.
4. The method of claim 1 wherein the VPI adapter is coupled for data communications with a dynamic host control protocol (‘DHCP’) server via a VPI switch.
5. The method of claim 1 wherein switching the operational mode of the VPI adapter to operate in accordance with the second data communications protocol further comprises sending, to the VPI adapter, a value identifying the second data communications protocol.
US14/063,029 2013-10-24 2013-10-25 Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter Active 2034-08-19 US9270635B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/063,029 US9270635B2 (en) 2013-10-24 2013-10-25 Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/062,364 US9264398B2 (en) 2013-10-24 2013-10-24 Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter
US14/063,029 US9270635B2 (en) 2013-10-24 2013-10-25 Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/062,364 Continuation US9264398B2 (en) 2013-10-24 2013-10-24 Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter

Publications (2)

Publication Number Publication Date
US20150121053A1 US20150121053A1 (en) 2015-04-30
US9270635B2 true US9270635B2 (en) 2016-02-23

Family

ID=52996732

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/062,364 Active US9264398B2 (en) 2013-10-24 2013-10-24 Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter
US14/063,029 Active 2034-08-19 US9270635B2 (en) 2013-10-24 2013-10-25 Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US14/062,364 Active US9264398B2 (en) 2013-10-24 2013-10-24 Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter

Country Status (2)

Country Link
US (2) US9264398B2 (en)
CN (1) CN104572172B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254091B (en) * 2021-06-09 2021-11-02 广东睿江云计算股份有限公司 Ceph block device-based diskless system starting method

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0425777B1 (en) 1989-10-30 1996-06-12 International Business Machines Corporation Switch method and protocol for making dynamic connections
US7730214B2 (en) 2006-12-20 2010-06-01 International Business Machines Corporation Communication paths from an InfiniBand host
US7734743B2 (en) 2007-02-23 2010-06-08 International Business Machines Corporation Method to enable infiniband network bootstrap
US20100287365A1 (en) 2008-01-28 2010-11-11 Watkins Mark R Deployment of boot images in diskless servers
US7966294B1 (en) * 2004-01-08 2011-06-21 Netapp, Inc. User interface system for a clustered storage system
US8006011B2 (en) * 2006-02-07 2011-08-23 Cisco Technology, Inc. InfiniBand boot bridge with fibre channel target
US20110296159A1 (en) 2010-05-28 2011-12-01 Hon Hai Precision Industry Co., Ltd. Pxe server and electronic device and method of diskless booting electronic device
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US8271694B2 (en) 2006-02-17 2012-09-18 Intel-Ne, Inc. Method and apparatus for using a single multi-function adapter with different operating systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231701A (en) * 2011-06-21 2011-11-02 重庆金美通信有限责任公司 Quality of service (QoS) method compatible with automated teller machine (ATM) and based on internet protocol (IP) layer 2/layer 3 switching

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0425777B1 (en) 1989-10-30 1996-06-12 International Business Machines Corporation Switch method and protocol for making dynamic connections
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7966294B1 (en) * 2004-01-08 2011-06-21 Netapp, Inc. User interface system for a clustered storage system
US8006011B2 (en) * 2006-02-07 2011-08-23 Cisco Technology, Inc. InfiniBand boot bridge with fibre channel target
US8271694B2 (en) 2006-02-17 2012-09-18 Intel-Ne, Inc. Method and apparatus for using a single multi-function adapter with different operating systems
US7730214B2 (en) 2006-12-20 2010-06-01 International Business Machines Corporation Communication paths from an InfiniBand host
US7734743B2 (en) 2007-02-23 2010-06-08 International Business Machines Corporation Method to enable infiniband network bootstrap
US20100287365A1 (en) 2008-01-28 2010-11-11 Watkins Mark R Deployment of boot images in diskless servers
US20110296159A1 (en) 2010-05-28 2011-12-01 Hon Hai Precision Industry Co., Ltd. Pxe server and electronic device and method of diskless booting electronic device

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Anonymous, "Method and System for Ethernet-less and Diskless Booting with Infiniband Connections", IP.com Prior Art Database (online), Feb. 25, 2013, pp. 1-3, IP.com.
Mellanox Technologies, "Mellanox FlexBoot(TM)-Increase Data Center Efficiency with Multiprotocol Remote Boot Technology", Product Brief, 2010, www.mellanox.com (online), [accessed Apr. 15, 2013], 1 pp., URL: http://www.mellanox.com/related-docs/prod-software/PB-FlexBoot.pdf.
Mellanox Technologies, "Mellanox FlexBoot™-Increase Data Center Efficiency with Multiprotocol Remote Boot Technology", Product Brief, 2010, www.mellanox.com (online), [accessed Apr. 15, 2013], 1 pp., URL: http://www.mellanox.com/related-docs/prod-software/PB-FlexBoot.pdf.
Mellanox Technologies, "Mellanox OFED for Linux User Manual", Sep. 16, 2012, 215 pages, Mellanox Technologies, USA.
Morgan, "Mellanox uncloaks SwitchX network switch-hitter", Apr. 26, 2011, www.TheRegister.co.uk (online), [accessed Apr. 15, 2013], 4 pp, URL: http://www.theregisterco.uk/2011/04/26/mellanox-switchx-switch-chip/.
Wikipedia, "Preboot Execution Environment", en.wikipedia.org (online), [accessed Apr. 15, 2013], 4 pp., URL: http://en.wikipedia.org/wiki/Preboot-Execution-Environment.

Also Published As

Publication number Publication date
US20150121053A1 (en) 2015-04-30
US9264398B2 (en) 2016-02-16
CN104572172B (en) 2018-01-30
US20150120885A1 (en) 2015-04-30
CN104572172A (en) 2015-04-29

Similar Documents

Publication Publication Date Title
CN108228209B (en) System, method, and medium for automatically updating firmware of elements of a server system
US10146556B2 (en) System and method to perform an OS boot using service location protocol and launching OS using a dynamic update of network boot order without a reboot
US9043776B2 (en) Transferring files to a baseboard management controller (‘BMC’) in a computing system
US10579437B2 (en) Migrating a logical partition with a native logical port
CN109240754B (en) Logic device, method and system for configuring BIOS starting item
US10817378B2 (en) Managing boot failures in an information handling system
US8903967B2 (en) Out-of-band management of third party adapter configuration settings in a computing system
US10860307B2 (en) Fragmented firmware storage system and method therefor
US20190182110A1 (en) Raid configuration
US9471329B2 (en) Optimizing computer hardware usage in a computing system that includes a plurality of populated central processing unit (‘CPU’) sockets
US20140244822A1 (en) Management apparatus and method of managing server node
US20090187707A1 (en) System and method of maximization of storage capacity in a configuration limited system
US10282190B2 (en) System and method for updating a UEFI image in an information handling system
US11922176B2 (en) Containerized firmware services
US9852028B2 (en) Managing a computing system crash
US9003172B2 (en) Intelligently controlling loading of legacy option ROMs in a computing system
US9270635B2 (en) Loading an operating system of a diskless compute node using a single virtual protocol interconnect (‘VPI’) adapter
US9292396B2 (en) System and method for secure remote diagnostics
US8645600B2 (en) Configuring expansion component interconnect (‘ECI’) physical functions on an ECI device in a computing system
US9104558B2 (en) Preventing out-of-space errors for legacy option ROM in a computing system
US9141565B2 (en) Memory bus attached input/output (‘I/O’) subsystem management in a computing system
US11310112B2 (en) Automatic server configuration using a switch
US20240104041A1 (en) Method for starting computing device, computing device, and program product
US10901930B1 (en) Shared virtual media in a composed system
US20110060815A1 (en) Automatic attachment of server hosts to storage hostgroups in distributed environment

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JOHNSON, JARROD B.;SUFFERN, EDWARD S.;WRAY, ANDREW H.;REEL/FRAME:031496/0625

Effective date: 20131024

AS Assignment

Owner name: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD., SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:034194/0111

Effective date: 20140926

Owner name: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.,

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:034194/0111

Effective date: 20140926

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: LENOVO INTERNATIONAL LIMITED, HONG KONG

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.;REEL/FRAME:038483/0940

Effective date: 20160505

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

AS Assignment

Owner name: LENOVO INTERNATIONAL LIMITED, HONG KONG

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.;REEL/FRAME:050301/0033

Effective date: 20160401

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8