Parallel computing those that use concurrency, are more difficult to write than sequential ones, because concurrency introduces several new classes of potential software bugs, of which race conditions are the most common. Communication and synchronization between the different subtasks are typically some of the greatest obstacles to getting good parallel program performance. A theoretical upper bound on the speed-up of a single program as a result of parallelization is given by Amdahl's law. Traditionally, computer software has been written for serial computation. To solve a problem, an algorithm is constructed and implemented as a serial stream of instructions. These instructions are executed
Serial passage found. Notice that relatively few passages are necessary to produce a noticeable change in a virus; for instance, a virus can typically adapt to a new host within ten or so passages. In fact, exactly because serial passage allows for rapid evolution of a virus to its host, it can be used to study the evolution of antibiotic resistance; specifically, for determining what mutations could lead to the development of antibiotic resistance. The technique of serial passage has been around since the 1800s. In particular, Louis Pasteur’s work with the rabies vaccine in the late 1800s exemplifies this method. Pasteur