The invention disclosed broadly relates to the field of scalable computers, and more particularly relates to the field of fiber optics based scalable computers.
Some organizations must deal with computational burdens which require the orchestrated efforts of tens of thousands of processors over months or years. These problems of scale are often described as “grand challenges” and require processing capabilities on the order of 1015 floating point operations per second (“PETAFLOPS”). Power needs on such a large scale require tremendous computing power distributed among a very large number of processors. In addition to the immense size and cost of the large number of machines involved, organizations are faced with the additional challenge of providing adequate and cost-efficient cooling for these machines.
For many applications, in particular molecular dynamics, the processors, once distributed, exhibit a pure broadcast gating communication pattern. A pure broadcast is one that reaches every destination node. Packets should not be lost, duplicated or re-ordered on the network.
Examples of such computational problems are those which are solved by “n-body,” or “many-body” (“the problem of predicting the motions of three or more objects obeying Newton's laws of motion and attracting each other according to Newton's law of gravitation,” from Dictionary of Scientific and Technical Terms, Fifth Edition, McGraw-Hill, Inc, 1994) computations such as planetary motion or molecular dynamics as applied to protein folding where the dominant computational burden is due to two-body interactions. In this class of problems, each atomic body has a spatial location which must be sent to every other atomic body at each time step where it is used to calculate the force between the two bodies. An example of such a problem is the simulation of the folding of a protein which might require 32,000 atomic bodies and 1012 time steps.
Another problem that can make use of pure broadcast is the brute force cryptographic attack, such as those used by the United States government in decrypting communications concerning national security. Currently, such attacks are often performed using many idle personal workstations and take very long periods of time.
Accordingly, it would be desirable and highly advantageous to have a fiber optics-based scalable computer capable of handling the above and other problems that have a very significant computational cost associated therewith.
An information processing system comprises a plurality of processors, a fiber bundle redriver and a controller for controlling the fiber bundle redriver. The controller is coupled to the redriver with at least one optical fiber input and at least one fiber output. The redriver simultaneously drives an optical signal received from any selected one of the plurality of processors through its input fiber onto substantially all of the plurality of processors through its output fibers.
These and other aspects, features and advantages of the present invention will become apparent from the following detailed description of preferred embodiments, which is to be read in connection with the accompanying drawings.
It is to be understood that the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof. Preferably, the present invention is implemented as a combination of both hardware and software, the software being an application program tangibly embodied on a program storage device. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (CPUs), a random access memory (RAM), and input/output (I/O) interfaces. The computer platform also includes an operating system and microinstruction code. The various processes and functions described herein may either be part of the microinstruction code or part of the application program (or a combination thereof) which is executed via the operating system. In addition, various other peripheral devices may be connected to the computer platform such as an additional data storage device.
Because some of the constituent system components depicted in the accompanying figures may be implemented in software, the actual connections between the system components may differ depending upon the manner in which the present invention is implemented. Given the teachings herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention.
Referring to
We will focus our examples on computer applications used in the area of molecular dynamics, and in particular, we will consider a computer architecture which targets a subclass of “grand challenges” characterized by a primary interprocessor communication pattern that is a pure broadcast. Because of the immense size and cost of the machines needed for these applications, the architecture described in the following examples of a preferred embodiment is based primarily on a single replicated component which enables the machines to be built and maintained efficiently. This architecture is flexible with regard to the physical layout and density of the components which enables the machines to be scaled up with a manageable cooling burden. Consequently, the computer 100 comprises a plurality of processors 102, a controller 104, and a fiber bundle redriver 106 controlled by the controller. The fiber bundle redriver 106 is a device which has a bundle of fibers on its input side and another bundle on its output side. The job of this device is to take any signal emanating from any fiber of the input side and redrive that signal into all the fibers on the output side simultaneously. The processors 102, as well as the controller 104 and the fiber bundle redriver 106, include fiber input/output channels for communications and/or power. It is to be appreciated that the exact number of each of the elements, and the exact number and type of channels respectively included therein, may be readily varied by one of ordinary skill in the related art while maintaining the spirit of the present invention.
The processors 102, along with their input and output channels, represent replicated components within the architecture of the computer 100. Preferably, the processors 102 are self-contained units which require power and two channels for communication. Therefore, according to one embodiment of the present invention, the processors 102 are packages, each with only two copper wires (+/−) for power and two fibers of the desired length for communication. In the illustrative embodiment, each of the processors 102 contain 1/nth of the processing power of the computer 100, where n is the number of processors to be built or included in the computer 100. Of course, other arrangements may be employed. The processors 102 may employ a unique interval identification number or address and may require the ability to load a program from its input fiber channel. Since the fibers are preferably of the same length, each processor 102 is likely to be mass produced as a unit. The fibers depicted in
The controller 104 is a common general purpose computer with a set of two fibers. The two fibers of the controller 104 are labeled input 101 and output 103 in the same manner as those of the above-described processors 102.
The assembly of the preceding elements is as follows. Gather all of the “in” fibers into a single bundle. Gather all of the “out” fibers into another bundle. Attach the output “bundle” to the input side of the fiber bundle redriver 106. Attach the “input” bundle to the output side of the fiber bundle redriver 106. Note that within a bundle each fiber may be anonymous. This is important because it may be impossible to create a dense bundle of fibers and retain any useful way to identify them.
When the program starts to run, each processor 102 has been given its initial state, including the atomic body and a logical rank (step 210). Every processor except that processor with the first rank, for example rank 0, begins waiting for the location information from the processor with rank 0. The processor with rank 0 outputs its current location down its “output” fiber channel (step 212). This propagates down that single fiber which (physically) joins all the other “output” fibers as a bundle on the “input” side of the fiber bundle redriver 106. The fiber bundle redriver 106 takes the signal coming in on that single fiber and simultaneously drives the signal onto all or substantially all (e.g., one or more fibers may be omitted for predefined purposes, defects, and so forth) the fibers on its “output” side (step 213). The signal now propagates toward every processor on its “input” fiber.
When the signal arrives at the processors, each processor now has the location information of the rank 0 atomic body which is used to compute the force between the receiving node, or processor 102, and rank 0. The processor with rank 1 can now send its location. During an application time step, each node, processor 102, broadcasts the position of its atom and every other node computes the force between its own atoms and those whose positions are arriving.
Note that the above method is self-synchronizing. The processor 102 associated with rank 1 does not send its information until it receives the input from rank 0 and so forth. The problem with this is that the program is slowed by the propagation delay through the fiber optic channels. Accordingly, the following steps of the method of
The propagation delay between the broadcast of the location information by one processor 102 and its receipt by all other processors 102 can be calibrated as follows.
At the time that each processor 102 receives the atomic body location information from the processor 102 with rank 0, each processor 102 notes the time when the information from rank 0 arrived (step 214). The processor 102 with rank 1 immediately outputs its information, triggered by the arrival of the information from the processor 102 with rank 0 (step 216). The fiber bundle redriver 106 takes the signal coming in on its single “input” fiber and simultaneously drives the signal onto all or substantially all the fibers on its “output” side (step 217). The signal now propagates toward every processor 102 on each processor's “input” fiber.
All of the processors will subsequently receive the atomic body location information from rank 1 and each of the processors 102 records the time (step 218). The difference between the arrival time of the information from rank 0 and rank 1 is calculated as the propagation delay (step 220), which is determined by the length of the fiber as well as the redriver delay times.
Given the propagation delay, successive broadcasts of location information can be pipelined on the fiber communication channel (step 222). The maximum depth of the pipeline is determined by the ratio of the propagation delay to the time extent of each location packet.
It is then determined whether or not the maximum depth of the pipeline is greater than 1. That is, step 222 determines whether the propagation delay is larger than the packet extent. The packet extent is the physical length of a packet as it moves along the fiber. If step 222. determines that the propagation delay is larger than the packet extent, then the transmission of the rank N location information can be timed relative to the receipt of the rank N—pipeline location information. This makes the computer 100 immune to synchronization problems caused by long term clock skew since the processors 102 are effectively resynchronized with the receipt of each location packet. However, if the propagation delay is not larger than the packet extent, then more complex timing is required to achieve full bandwidth. That is, each node will have to predict when its time slot will occur and start sending even though the preceding rank information (from current rank—1) may not have arrived yet.
No matter how long the fibers are, as long as they are all the same length, the system can pipeline the data within the fiber propagation delay time. Thus, the application will realize nearly the optimal limit of the fiber channel's bandwidth.
A description of some implementation options will now be given. For example, if it is found that more bandwidth is required than a single fiber can handle, then multiple fibers could be used. Also, multiple redrivers could be used, with a corresponding increase in the difficulty of programming the corresponding topology. Additionally, other logical topologies could be implemented, including point-to-point communications. The exact floating point capabilities of the processors 102 and the transmission bandwidth of the fiber connections are determined by the state of the art. It may be desirable to build what is the equivalent of many microprocessors into the replicated processor 102 of the computer 100 to reach very high processing rates. Given the teachings of the present invention provided herein, one of ordinary skill in the related art will contemplate these and various other configurations and implementations of the elements of the present invention, while maintaining the spirit and scope thereof.
A brief description of a related problem in implementing a fiber optics based scalable computer will now be given. One implementation problem is obtaining sufficient optical power from one source of data to communicate simultaneously with a very large number of receivers, such as 32,000 (32K) receivers as used in the molecular dynamics example. Each processor would optimally comprise one receiver and one transmitter. To keep the receiver design simple (i.e., to minimize circuit space by not requiring too many gain stages to boost the signal up to logic levels), the receiver should be driven by as much optical power as is practically possible.
Working backwards from the receiver, 10 μW (microwatts) is the target for the minimum received optical power. Presuming coupling losses of 10 dB (decibels) in the optical path, then the source should broadcast 3.2W (watts) at a level of 10 μW×10×32,000 of modulated optical power. There are several ways to achieve the 3.2W optical power level.
The modulator 312 is, preferably, but not necessarily, a Lithium Niobate modulator. Of course, other types of modulators may be used, while maintaining the spirit and scope of the present invention.
Referring to
In
Referring now to
Additionally one has a laser amplifier driver 408, which receives a signal 307 from the receiver 430, and a single laser modulator 440. This laser modulator could be configured in different ways. It could be composed of a continuous wave (CW) laser 310, paired with a Lithium Niobate optical modulator 312, such as in
In the case where the basic processing element does require two fibers (one in, one out), then the problem is one of amplifying 1 of 32K sources up to a high enough power level to be distributed to 32K receivers because it is not practical to modulate a single source at the required power (>3.2W).
The choice between the four preceding approaches depends on available electronics and power dissipation requirements. Modulators need large voltage swings and lasers that modulate 32 mW need large current swings. Another issue is that commercially available EDFAs are very bulky and some custom EDFA design is probably warranted. However, given the teachings of the present invention provided herein, one of ordinary skill in the related art will readily contemplate these and various other implementations and configurations of the elements of the present invention, while maintaining the spirit and scope thereof.
Another embodiment of the fiber bundle redriver 106 could be implemented by taking the output of the fiber bundle, fabricated much the same way as is done today in manufacturing endiscope cables, (32,000-70 micron diameter fibers bundled to 0.5 inch diameter cable) and focusing it down onto a high speed photo detector. The magnification of a lens system would have to be 1/250 times to focus the entire bundle onto one 50 micron photo detector. Another possible embodiment would use an array of smaller detectors and a lower magnification (1/50) optical system or a larger photo detector. The size of the photo detector will determine, in part, the sensitivity achievable at a given speed.
With respect to the fiber bundle redriver 106 according to
Referring again to
Another possibility is to make a multimode EDFA using a large core fiber, for example, a 200–900 μm diameter core glass fiber that is Erbium-doped. This multimode fiber could be either transversely pumped (e.g., similar to a diode-pumped YAG) or longitudinally pumped (e.g., similar to a conventional EDFA). An objective is to increase the cross section of the gain element (amplifier) to be greater than the current 9 μm diameter, to enable an easier design of a lens system for coupling into one of the 32K fibers.
Given the teachings of the present invention provided herein, other implementations can be readily contemplated by one of ordinary skill in the related art in which smaller groups (i.e. 1K) of transmitters are bundled (coupled) to smaller diameter amplifiers (e.g., the 200 μm diameter multimode fiber type)×32 and the output of the array of amplifiers illuminates the input of the 32K receiving fibers.
The present invention is not restricted or limited to Erbium doping and, thus, other rare earth or other types of dopants (doping agents) can be used to create gain at other wavelengths, while maintaining the spirit and scope of the present invention.
Although the illustrative embodiments have been described herein with reference to the accompanying drawings, it is to be understood that the present system and method is not limited to those precise embodiments, and that various other changes and modifications may be affected therein by one skilled in the art without departing from the scope or spirit of the invention. All such changes and modifications are intended to be included within the scope of the invention as defined by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
4696062 | LaBudde | Sep 1987 | A |
6108130 | Raj | Aug 2000 | A |
6184778 | Tsuji | Feb 2001 | B1 |
6496619 | Naganuma | Dec 2002 | B1 |
6764651 | Fernando et al. | Jul 2004 | B1 |
6798941 | Smith et al. | Sep 2004 | B1 |
6834139 | Prairie et al. | Dec 2004 | B1 |
20050111793 | Grattan et al. | May 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20040096147 A1 | May 2004 | US |