Rocks Cluster Distribution (originally NPACI Rocks ) is a Linux distribution intended for high-performance computing (HPC) clusters . It was started by National Partnership for Advanced Computational Infrastructure and the San Diego Supercomputer Center (SDSC) in 2000. It was initially funded in part by an NSF grant (2000–07), but was funded by the follow-up NSF grant through 2011.
66-613: Rocks was initially based on the Red Hat Linux (RHL) distribution, however modern versions of Rocks were based on CentOS , with a modified Anaconda installer that simplifies mass installation onto many computers. Rocks includes many tools (such as Message Passing Interface (MPI)) which are not part of CentOS but are integral components that make a group of computers into a cluster. Installations can be customized with additional software packages at install-time by using special user-supplied CDs (called "Roll CDs"). The "Rolls" extend
132-578: A microprocessor format. In October 1987, Sun Microsystems introduced the Sun-4 , their first workstation using their new SPARC processor. The Sun-4 runs about three to four times as fast as their latest Sun-3 designs using the Motorola 68020 , and any Unix offering from DEC. The plans changed again; PRISM was realigned once again as a 32-bit part and aimed directly at the Unix market. This further delayed
198-408: A 21-bit displacement field. The Ra field specifies a register to be tested by a conditional branch instruction, and if the condition is met, the program counter is updated by adding the contents of the displacement field with the program counter. The displacement field contains a signed integer and if the value of the integer is positive, if the branch is taken then the program counter is incremented. If
264-546: A 64- or 128-bit result to the destination register, respectively. Since it is useful to obtain the most significant half, the Unsigned Multiply Quadword High (UMULH) instruction is provided. UMULH is used for implementing multi-precision arithmetic and division algorithms. The concept of a separate instruction for multiplication that returns the most significant half of a result was taken from PRISM . The instructions that operate on longwords ignore
330-414: A RISC-like system and leave more complex VAX instructions to system subroutines. Another concept was a pure RISC system that would translate existing VAX code into its own ISA on-the-fly and store it in a CPU cache . Finally, there was still the possibility of a much faster CISC processor running the complete VAX ISA. Unfortunately, all of these approaches introduced overhead and would not be competitive with
396-465: A combined register file, but a split register file was determined to be better, as it enables two-chip implementations to have a register file located on each chip and integer-only implementations to omit the floating-point register file containing the floating-point registers. A split register file was also determined to be more suitable for multiple instruction issue due to the reduced number of read and write ports. The number of registers per register file
462-459: A common kernel , allowing software for both platforms to be easily ported to the PRISM architecture. Started in 1985, the PRISM design was continually changed during its development in response to changes in the computer market, leading to lengthy delays in its introduction. It was not until the summer of 1987 that it was decided that it would be a 64-bit design, among the earliest such designs in
528-537: A few hardware dependencies based on its modelling of interrupts and memory paging. There appeared to be no compelling reason why VMS could not be ported to a RISC chip as long as these small bits of the model were preserved. Further work on this concept suggested this was a workable approach. Supnik took the resulting report to the Strategy Task Force in February 1989. Two questions were raised: could
594-453: A head in a July 1988 management meeting. PRISM appeared to be faster than the R2000, but the R2000 machines could be in the market by January 1989, a year earlier than PRISM. When this proposal was accepted, one of the two original roles for PRISM disappeared. The decision to make a VMS PRISM had already ended by this point, so there was no remaining role. PRISM was cancelled at the meeting. As
660-508: A larger (or full) virtual address space. The Alpha ISA has a fixed instruction length of 32 bits. It has six instruction formats. The integer operate format is used by integer instructions. It contains a 6-bit opcode field, followed by the Ra field, which specifies the register containing the first operand and the Rb field, specifies the register containing the second operand. Next is a 3-bit field which
726-501: A level of compatibility with the VAX , the 32-bit architecture that preceded the Alpha, two other floating-point data types are included: VAX H-floating point (quad precision, 128-bit) was not supported, but another 128-bit floating-point option, X-floating point, is available on Alpha, but not VAX. H and X have been described as similar, but not identical. Software emulation for H-floating
SECTION 10
#1732792957510792-422: A longword-aligned virtual byte address, that is, the low two bits of the program counter are always zero. The PC is incremented by four to the address of the next instruction when an instruction is decoded. A lock flag and locked physical address register are used by the load-locked and store-conditional instructions for multiprocessor support. The floating-point control register (FPCR) is a 64-bit register defined by
858-465: A patched version of GCC from CVS that they called "2.96". The decision to ship an unstable GCC version was due to GCC 2.95's bad performance on non-i386 platforms, especially DEC Alpha . Newer GCCs had also improved support for the C++ standard, which caused much of the existing code not to compile. In particular, the use of a non-released version of GCC caused some criticism, e.g. from Linus Torvalds and
924-399: A potential bottleneck at the condition status register. Instructions resulting in an overflow, such as adding two numbers whose result does not fit in 64 bits, write the 32 or 64 least significant bits to the destination register. The carry is generated by performing an unsigned compare on the result with either operand to see if the result is smaller than either operand. If the test was true,
990-461: A pure-RISC machine running native RISC code. The group then considered hybrid systems that combined one of their existing VAX one-chip solution and a RISC chip as a coprocessor used for high-performance needs. These studies suggested that the system would inevitably be hamstrung by the lower-performance part and would offer no compelling advantage. It was at this point that Nancy Kronenberg pointed out that people ran VMS, not VAX, and that VMS only had
1056-534: A register and a literal and write '1' to the destination register if the specified condition is true or '0' if not. The conditions are equality, inequality, less than or equal to, and less than. With the exception of the instructions that specify the former two conditions, there are versions that perform signed and unsigned compares. The integer arithmetic instructions use the integer operate instruction formats. The logical instructions consist of those for performing bitwise logical operations and conditional moves on
1122-412: A register is set or clear, or compare a register as a signed quadword to zero, and branch if the specified condition is true. The conditions available for comparing a register to zero are equality, inequality, less than, less than or equal to, greater than or equal to, and greater than. The new address is computed by longword aligning and sign extending the 21-bit displacement and adding it to the address of
1188-599: A variety of DEC workstations and servers, which eventually formed the basis for almost all of their mid-to-upper-scale lineup. Several third-party vendors also produced Alpha systems, including PC form factor motherboards. Operating systems that support Alpha included OpenVMS (formerly named OpenVMS AXP), Tru64 UNIX (formerly named DEC OSF/1 AXP and Digital UNIX), Windows NT (discontinued after NT 4.0 ; and prerelease Windows 2000 RC2 ), Linux ( Debian , SUSE , Gentoo and Red Hat ), BSD UNIX ( NetBSD , OpenBSD and FreeBSD up to 6.x), Plan 9 from Bell Labs , and
1254-809: Is GridKa , operated by the Karlsruhe Institute of Technology in Karlsruhe , Germany . There are also a number of clusters ranging down to fewer than 10 CPUs, representing the early stages in the construction of larger systems, as well as being used for courses in cluster design. This easy scalability was a major goal in the development of Rocks, both for the researchers involved, and for the NSF: Broader impact mirrors intellectual merit, and specifically lies in Rocks' new capabilities enabling management of very large clusters such as those emerging from
1320-478: Is a 64-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by Digital Equipment Corporation (DEC). Alpha was designed to replace 32-bit VAX complex instruction set computers (CISC) and to be a highly competitive RISC processor for Unix workstations and similar markets. Alpha was implemented in a series of microprocessors originally developed and fabricated by DEC. These microprocessors were most prominently used in
1386-461: Is available from DEC, as is a source-code level converter named DECmigrate. The Alpha has a 64-bit linear virtual address space with no memory segmentation. Implementations can implement a smaller virtual address space with a minimum size of 43 bits. Although the unused bits were not implemented in hardware such as TLBs , the architecture required implementations to check whether they are zero to ensure software compatibility with implementations with
SECTION 20
#17327929575101452-479: Is given by a register or literal. Logical and shift instructions use the integer operate instruction formats. Later Alphas include byte-word extensions, a set of instructions to manipulate 8-bit and 16-bit data types. These instructions were first introduced in the 21164A (EV56) microprocessor and are present in all subsequent implementations. These instructions perform operations that formerly required multiple instructions to implement, which improves code density and
1518-431: Is no instruction(s) for division as the architects considered the implementation of division in hardware to be adverse to simplicity. In addition to the standard add and subtract instructions, there are scaled versions. These versions shift the second operand to the left by two or three bits before adding or subtracting. The Multiply Longword and Multiply Quadword instructions write the least significant 32 or 64 bits of
1584-405: Is similar to the integer operate format, but has an 11-bit function field made possible by using the literal and unused bits which are reserved in integer operate format. The memory format is used mostly by load and store instructions. It has a 6-bit opcode field, a 5-bit Ra field, a 5-bit Rb field and a 16-bit displacement field. Branch instructions have a 6-bit opcode field, a 5-bit Ra field and
1650-467: Is unused and reserved. A 1-bit field contains a "0", which distinguished this format from the integer literal format. A 7-bit function field follows, which is used in conjunction with the opcode to specify an operation. The last field is the Rc field, which specifies the register which the result of a computation should be written to. The register fields are all 5 bits long, required to address 32 unique locations,
1716-612: The Electric Pickle experiment at Western Research Lab. The number in the EV designations indicated the semiconductor process which the chip was designed for. For example, the EV4 processor used DEC's CMOS-4 process. In May 1997, DEC sued Intel for allegedly infringing on its Alpha patents in designing the original Pentium , Pentium Pro , and Pentium II chips. As part of a settlement, much of DEC's chip design and fabrication business
1782-562: The L4Ka::Pistachio kernel. A port of Ultrix to Alpha was carried out during the initial development of the Alpha architecture, but was never released as a product. The Alpha architecture was sold, along with most parts of DEC, to Compaq in 1998. Compaq, already an Intel x86 customer, announced that they would phase out Alpha in favor of the forthcoming Hewlett-Packard /Intel Itanium architecture, and sold all Alpha intellectual property to Intel, in 2001, effectively killing
1848-414: The 32 integer registers. The integer literal format is used by integer instructions which use a literal as one of the operands. The format is the same as the integer operate format except for the replacement of the 5-bit Rb field and the 3 bits of unused space with an 8-bit literal field which is zero-extended to a 64-bit operand. The floating-point operate format is used by floating-point instructions. It
1914-605: The GCC Steering Committee; Red Hat was forced to defend this decision. GCC 2.96 failed to compile the Linux kernel, and some other software used in Red Hat, due to stricter checks. It also had an incompatible C++ ABI with other compilers. The distribution included a previous version of GCC for compiling the kernel, called "kgcc". As of Red Hat Linux 7.0, UTF-8 was enabled as the default character encoding for
1980-525: The NSF Track 2 program, the ease of configuration of clusters supporting virtualization capabilities and generally the continuing effect of Rocks on installation and use of Linux clusters across NSF communities. Red Hat Linux Red Hat Linux was a widely used commercial open-source Linux distribution created by Red Hat until its discontinuation in 2004. Early releases of Red Hat Linux were called Red Hat Commercial Linux . Red Hat published
2046-411: The architecture intended for use by Alpha implementations with IEEE 754 -compliant floating-point hardware. In the Alpha architecture, a byte is defined as an 8-bit datum (octet), a word as a 16-bit datum, a longword as a 32-bit datum, a quadword as a 64-bit datum, and an octaword as a 128-bit datum. The Alpha architecture originally defined six data types: To maintain
Rocks Cluster Distribution - Misplaced Pages Continue
2112-639: The change. Version 8.0 was also the second to include the Bluecurve desktop theme . It used a common theme for GNOME-2 and KDE 3.0.2 desktops, as well as OpenOffice-1.0. KDE members did not appreciate the change, claiming that it was not in the best interests of KDE. Version 9 supported the Native POSIX Thread Library , which was ported to the 2.4 series kernels by Red Hat. Red Hat Linux lacked many features due to possible copyright and patent problems. For example, MP3 support
2178-527: The community-supported Fedora Project and sponsored by Red Hat, is a free-of-cost alternative intended for home use. Red Hat Linux 9, the final release, hit its official end-of-life on April 30, 2004, although updates were published for it through 2006 by the Fedora Legacy project until the updates were discontinued in early 2007. Version 3.0.3 was one of the first Linux distributions to support ELF (Executable and Linkable Format) binaries instead of
2244-497: The complex VAX architecture. The Alpha chips show that manual circuit design applied to a simpler, cleaner architecture allows for much higher operating frequencies than those that are possible with the more automated design systems. These chips caused a renaissance of custom circuit design within the microprocessor design community. Originally, the Alpha processors were designated the DECchip 21x64 series, with "DECchip" replaced in
2310-529: The design. Having watched the PRISM delivery date continue to slip, and facing the possibility of more delays, a team in the Palo Alto office decided to design their own workstation using another RISC processor. After due diligence , they selected the MIPS R2000 and built a working workstation running Ultrix in a period of 90 days. This sparked off an acrimonious debate within the company, which came to
2376-587: The first non-beta release in May 1995. It included the Red Hat Package Manager as its packaging format, and over time RPM has served as the starting point for several other distributions, such as Mandriva Linux and Yellow Dog Linux . In 2003, Red Hat discontinued the Red Hat Linux line in favor of Red Hat Enterprise Linux (RHEL) for enterprise environments. Fedora Linux , developed by
2442-404: The included software packages – not contributions to the distribution as such. This was changed in late 2003 when Red Hat Linux merged with the community -based Fedora Project . The new plan was to draw most of the codebase from Fedora Linux when creating new Red Hat Enterprise Linux distributions. Fedora Linux replaced the original Red Hat Linux download and retail version. The model is similar to
2508-432: The instruction following the conditional branch. Unconditional branches update the program counter with a new address computed in the same way as conditional branches. They also save the address of the instruction following the unconditional branch to a register. There are two such instructions, and they differ only in the hints provided for the branch prediction hardware. There are four jump instructions. These all perform
2574-473: The integer registers and floating-point registers. The Alpha 21264 (EV6) is the first microprocessor to implement these instructions. Count Extensions (CIX) is an extension to the architecture which introduces three instructions for counting bits. These instructions are categorized as integer arithmetic instructions. They were first implemented on the Alpha 21264A (EV67). At the time of its announcement, Alpha
2640-522: The integer registers. The bitwise logical instructions perform AND , NAND , NOR , OR , XNOR , and XOR between two registers or a register and literal. The conditional move instructions test a register as a signed quadword to zero and move if the specified condition is true. The specified conditions are equality, inequality, less than or equal to, less than, greater than or equal to, and greater than. The shift instructions perform arithmetic right shift , and logical left and right shifts . The shift amount
2706-538: The meeting broke up, Bob Supnik was approached by Ken Olsen , who stated that the RISC chips appeared to be a future threat to their VAX line. He asked Supnik to consider what might be done with VAX to keep it competitive with future RISC systems. This led to the formation of the "RISCy VAX" team. They initially considered three concepts. One was a cut-down version of the VAX instruction set architecture (ISA) that would run on
Rocks Cluster Distribution - Misplaced Pages Continue
2772-479: The mid-1990s with "Alpha". The first two digits, "21" signifies the 21st century, and the last two digits, "64" signifies 64 bits. The Alpha was designed as 64-bit from the start and there is no 32-bit version. The middle digit corresponds to the generation of the Alpha architecture. Internally, Alpha processors were also identified by EV numbers, EV officially standing for "Extended VAX" but having an alternative humorous meaning of "Electric Vlasic ", giving homage to
2838-485: The most innovative of their time. A persistent report attributed to DEC insiders suggests the choice of the AXP tag for the processor was made by DEC's legal department, which was still smarting from the VAX trademark fiasco. After a lengthy search the tag "AXP" was found to be entirely unencumbered. Within the computer industry, a joke got started that the acronym AXP meant "Almost eXactly PRISM". The Alpha architecture
2904-469: The most significant half of the register and the 32-bit result is sign-extended before it is written to the destination register. By default, the add, multiply, and subtract instructions, with the exception of UMULH and scaled versions of add and subtract, do not trap on overflow. When such functionality is required, versions of these instructions that perform overflow detection and trap on overflow are provided. The compare instructions compare two registers or
2970-407: The older a.out format. Red Hat Linux introduced a graphical installer called Anaconda developed by Ketan Bagal, intended to be easy to use for novices, and which has since been adopted by some other Linux distributions. It also introduced a built-in tool called Lokkit for configuring the firewall capabilities. In version 6 Red Hat moved to glibc 2.1, egcs-1.2 , and to the 2.2 kernel. It
3036-403: The others with a 26-bit function field, which contains an integer specifying a PAL subroutine. The control instructions consist of conditional and unconditional branches, and jumps. The conditional and unconditional branch instructions use the branch instruction format, while the jump instructions use the memory instruction format. Conditional branches test whether the least significant bit of
3102-556: The performance of certain applications. BWX also makes the emulation of x86 machine code and the writing of device drivers easier. Motion Video Instructions (MVI) was an instruction set extension to the Alpha ISA that added instructions for single instruction, multiple data (SIMD) operations. Alpha implementations that implement MVI, in chronological order, are the Alpha 21164PC (PCA56 and PCA57), Alpha 21264 (EV6) and Alpha 21364 (EV7). Unlike most other SIMD instruction sets of
3168-596: The product. Hewlett-Packard purchased Compaq in 2002, continuing development of the existing product line until 2004, and selling Alpha-based systems, largely to the existing customer base, until April 2007. Alpha emerged from an earlier RISC project named Parallel Reduced Instruction Set Machine ( PRISM ), itself the product of several earlier projects. PRISM was intended to be a flexible design, supporting Unix-like applications, and Digital's existing VAX/VMS software, after minor conversion. A new operating system named MICA would support both ULTRIX and VAX/VMS interfaces on
3234-614: The purpose, but was inefficient in MPEG-2 encoding. The second reason is the requirement to retain the fast cycle times of implementations. Adding many instructions would have complicated and enlarged the instruction decode logic, reducing an implementation's clock frequency. MVI consists of 13 instructions: Floating-point extensions (FIX) are an extension to the Alpha Architecture. It introduces nine instructions for floating-point square-root and for transferring data to and from
3300-527: The relationship between Netscape Communicator and Mozilla , or StarOffice and OpenOffice.org , although in this case the resulting commercial product is also fully free software . Release dates were drawn from announcements on comp.os.linux.announce . Version names are chosen as to be cognitively related to the prior release, yet not related in the same way as the release before that. The Fedora and Red Hat Projects were merged on September 22, 2003. DEC Alpha Alpha (original name Alpha AXP )
3366-462: The resulting RISC design also be a performance leader in the Unix market, and should the machine be an open standard? And with that, the decision was made to adopt the PRISM architecture with the appropriate modifications. This became the "EVAX" concept, a follow-on to the successful CMOS CVAX implementation. When management accepted the findings, they decided to give the project a more neutral name, removing "VAX", eventually settling on Alpha. The name
SECTION 50
#17327929575103432-423: The same operation, saving the address of the instruction following the jump, and providing the program counter with a new address from a register. They differ in the hints provided to the branch prediction hardware. The unused displacement field is used for this purpose. The integer arithmetic instructions perform addition, multiplication, and subtraction on longwords and quadwords; and comparison on quadwords. There
3498-501: The same period, such as MIPS ' MDMX or SPARC 's Visual Instruction Set , but like PA-RISC 's Multimedia Acceleration eXtensions (MAX-1, MAX-2), MVI was a simple instruction set composed of a few instructions that operate on integer data types stored in existing integer registers. MVI's simplicity is due to two reasons. Firstly, Digital had determined that the Alpha 21164 was already capable of performing DVD decoding through software, therefore not requiring hardware provisions for
3564-853: The system by integrating seamlessly and automatically into the management and packaging mechanisms used by base software, greatly simplifying installation and configuration of large numbers of computers. Over a dozen Rolls have been created, including the Sun Grid Engine (SGE) roll, the Condor roll, the Lustre roll, the Java roll, and the Ganglia roll. By October 2010, Rocks was used for academic, government, and commercial organizations, employed in 1,376 clusters, on every continent except Antarctica. The largest registered academic cluster, having 8632 CPUs,
3630-402: The system. This had little effect on English -speaking users, but enabled much easier internationalisation and seamless support for multiple languages, including ideographic , bi-directional and complex script languages along with European languages . However, this did cause some negative reactions among existing Western European users, whose legacy ISO-8859 –based setups were broken by
3696-475: The value of the integer is negative, then program counter is decremented if the branch is taken. The range of a branch thus is ±1 Mi instructions, or ±4 MiB. The Alpha Architecture was designed with a large range as part of the architecture's forward-looking goal. The CALL_PAL format is used by the CALL_PAL instruction, which is used to call PALcode subroutines. The format retains the opcode field but replaces
3762-690: The value one is written to the least significant bit of the destination register to indicate the condition. The architecture defines a set of 32 integer registers and a set of 32 floating-point registers in addition to a program counter , two lock registers and a floating-point control register (FPCR). It also defines registers that were optional, implemented only if the implementation required them. Lastly, registers for PALcode are defined. The integer registers are denoted by R0 to R31 and floating-point registers are denoted by F0 to F31. The R31 and F31 registers are hardwired to zero and writes to those registers by instructions are ignored. Digital considered using
3828-517: Was a superpipelined and superscalar design, like other RISC designs, but nevertheless outperformed them all and DEC touted it as the world's fastest processor. Careful attention to circuit design, a hallmark of the Hudson design team, like a huge centralized clock circuitry, allowed them to run the CPU at higher speeds, even though the microarchitecture was fairly similar to other RISC chips. In comparison,
3894-415: Was also considered, with 32 and 64 being contenders. Digital concluded that 32 registers was more suitable as it required less die space, which improves clock frequencies. This number of registers was deemed not to be a major issue in respect to performance and future growth, as thirty-two registers could support at least eight-way instruction issue. The program counter is a 64-bit register which contains
3960-517: Was developed into the Alpha's PALcode , providing an abstracted interface to platform- and processor implementation-specific features. The main contribution of Alpha to the microprocessor industry, and the main reason for its performance, is not so much the architecture but rather its implementation. At that time (as it is now), the microchip industry was dominated by automated design and layout tools. The chip designers at Digital continued pursuing sophisticated manual circuit design in order to deal with
4026-450: Was disabled in both Rhythmbox and XMMS ; instead, Red Hat recommended using Ogg Vorbis , which has no patents. MP3 support, however, could be installed afterwards, through the use of packages. Support for Microsoft's NTFS file system was also missing, but could be freely installed as well. Red Hat Linux was originally developed exclusively inside Red Hat, with the only feedback from users coming through bug reports and contributions to
SECTION 60
#17327929575104092-609: Was heralded as an architecture for the next 25 years. While this was not to be, Alpha has nevertheless had a reasonably long life. The first version, the Alpha 21064 (otherwise named the EV4 ) was introduced in November 1992 running at up to 192 MHz; a slight shrink of the die (the EV4S , shrunk from 0.75 μm to 0.675 μm) ran at 200 MHz a few months later. The 64-bit processor
4158-522: Was inspired by the use of "Omega" as the codename of an NVAX -based VAX 4000 model; "Alpha" was intended to signify the beginning of a new line (with reference to Alpha and Omega ). Soon after, work began on a port of VMS to the new architecture . The new design uses most of the basic PRISM concepts, but was re-tuned to allow VMS and VMS programs to run at reasonable speed with no conversion at all. The primary Alpha instruction set architects were Richard L. Sites and Richard T. Witek. The PRISM's Epicode
4224-401: Was intended to be a high-performance design. Digital intended the architecture to support a one-thousandfold increase in performance over twenty-five years. To ensure this, any architectural feature that impeded multiple instruction issue, clock rate or multiprocessing was removed. As a result, the Alpha does not have: The Alpha does not have condition codes for integer instructions to remove
4290-564: Was sold to Intel. This included DEC's StrongARM implementation of the ARM computer architecture , which Intel marketed as the XScale processors commonly used in Pocket PCs . The core of Digital Semiconductor, the Alpha microprocessor group, remained with DEC, while the associated office buildings went to Intel as part of the Hudson fab. The first few generations of the Alpha chips were some of
4356-453: Was the first version to use the GNOME as its default graphical environment. It also introduced Kudzu , a software library for automatic discovery and configuration of hardware. Version 7 was released in preparation for the 2.4 kernel, although the first release still used the stable 2.2 kernel. Glibc was updated to version 2.1.92, which was a beta of the upcoming version 2.2 and Red Hat used
#509490