Multi-core Processor and Transition Towards Multithreaded Application
Microprocessor, heart of computer technology has undergone phenomenal technological advancement. The latest advancement is the arrival of multi-core processors by various processor manufacturers for desktops and servers. Multi core is the new hot topic in the latest round of CPUs from Intel, AMD, IBM, Sun, etc. With clock speed increases becoming more and more difficult to achieve, vendors have turned to multi-core CPUs as the best way to gain additional performance. Customers are excited about the promise of more performance through parallel processors for the same investment.
The multi-core processors have given way to the new multi threading programming techniques. "Threading" is defined as running different sections of code simultaneously on different processors. Multithreaded applications require stricter care than single-threaded applications when accessing data. Because there are multiple, independent paths of execution in use simultaneously in multithreaded applications, either the algorithms, the data, or both must be aware that data could be used by more than one thread at a time.
The advent of multi-core processors has brought new avenues of opportunities in software outsourcing business. The clients investing on multi-core processors are already looking at the opportunities for converting their existing applications to multithreaded applications. The dawn of this new opportunity is comparable to the Y2K era software outsourcing by the developed countries. The migration to multithreaded application is labor intensive and requires higher degree of competencies and skill sets.
The major enterprise applications such as Oracle, WebLogic, DB2, and Apache are designed to take full advantage of multiple processors and are architected to be multithreaded. These are ready because the multi-core processor arrived in the server category much earlier than the desktop PCs. Even though the concept of using concurrent CPUs to increase overall software performance has been around for at least 35 years, these were limited to very high end computing platforms. Very little development tools were available in the commercial marketplace. As a result, the vast majority of current applications are single-threaded.
The introduction of multi-core CPU-based desktop systems has infused transition of the applications from single thread to multithread application as customers figure out that most of their applications run no faster on a dual- or quad-core system than on a unicore system. To match the power of dual core machines/CPUs, application vendors will have to do what Sun did and "encourage" application vendors to redesign their applications to be multithread ready. Desktop application vendors who have been able to depend on continual CPU clock increases will now have to invest in a long and painful rewrite of their software to gain the next jump in performance and functionality. All this could take years. Moreover, more agile companies will now have an opening to make multi threading transitions investments faster, potentially snagging customers from incumbent vendors that are too slow to make the transition.
Recognizing the need to make these applications run multithreading in order to sell their new SMP servers, Sun leveraged its experience by assigning engineers to these companies to help them in their migration. The situation today is quickly becoming a replay of what happened to face the millennium bug of Y2K. Application vendors requiring more CPU bandwidth can no longer count on increased clock speeds for better performance and functionality. Most large-scale client-side applications are written in C or C++ and historically have been designed to be single-threaded. Making applications multithreaded ready is still a labor-intensive redelivery process. A few vendors, most notably in the multimedia area, have made some multithreaded enhancements to their applications. The gaming industry has already started shipping new games that utilizes the power of multi core processors through multi threading.
Bangladeshi ICT Industry will require investments in hardware, migration tools and human resources development to capture the share of the lucrative new area of multi thread application migration that has evolved from the availability of multi core processors in the desktop PCs. The demand for ICT graduates is again rising fast globally; even India is facing the shortage of ICT graduates for its booming ICT sector. The time has come for the local ICT industry to explore the potential in this area and take effective measures to gain access in this new niche market. The country has also seen growth over past years in local demand for various types of customized applications and unless the Bangladeshi software companies realize the potential of the new technologies it might face serious challenges from software vendors across the border. Bangladesh Association of Software and Information Services (BASIS) should rise to the occasion and take appropriate measures to update its members on the issue. Feedback : tbarkatullah@yahoo.com
Microprocessor, heart of computer technology has undergone phenomenal technological advancement. The latest advancement is the arrival of multi-core processors by various processor manufacturers for desktops and servers. Multi core is the new hot topic in the latest round of CPUs from Intel, AMD, IBM, Sun, etc. With clock speed increases becoming more and more difficult to achieve, vendors have turned to multi-core CPUs as the best way to gain additional performance. Customers are excited about the promise of more performance through parallel processors for the same investment.
The multi-core processors have given way to the new multi threading programming techniques. "Threading" is defined as running different sections of code simultaneously on different processors. Multithreaded applications require stricter care than single-threaded applications when accessing data. Because there are multiple, independent paths of execution in use simultaneously in multithreaded applications, either the algorithms, the data, or both must be aware that data could be used by more than one thread at a time.
The advent of multi-core processors has brought new avenues of opportunities in software outsourcing business. The clients investing on multi-core processors are already looking at the opportunities for converting their existing applications to multithreaded applications. The dawn of this new opportunity is comparable to the Y2K era software outsourcing by the developed countries. The migration to multithreaded application is labor intensive and requires higher degree of competencies and skill sets.
The major enterprise applications such as Oracle, WebLogic, DB2, and Apache are designed to take full advantage of multiple processors and are architected to be multithreaded. These are ready because the multi-core processor arrived in the server category much earlier than the desktop PCs. Even though the concept of using concurrent CPUs to increase overall software performance has been around for at least 35 years, these were limited to very high end computing platforms. Very little development tools were available in the commercial marketplace. As a result, the vast majority of current applications are single-threaded.
The introduction of multi-core CPU-based desktop systems has infused transition of the applications from single thread to multithread application as customers figure out that most of their applications run no faster on a dual- or quad-core system than on a unicore system. To match the power of dual core machines/CPUs, application vendors will have to do what Sun did and "encourage" application vendors to redesign their applications to be multithread ready. Desktop application vendors who have been able to depend on continual CPU clock increases will now have to invest in a long and painful rewrite of their software to gain the next jump in performance and functionality. All this could take years. Moreover, more agile companies will now have an opening to make multi threading transitions investments faster, potentially snagging customers from incumbent vendors that are too slow to make the transition.
Recognizing the need to make these applications run multithreading in order to sell their new SMP servers, Sun leveraged its experience by assigning engineers to these companies to help them in their migration. The situation today is quickly becoming a replay of what happened to face the millennium bug of Y2K. Application vendors requiring more CPU bandwidth can no longer count on increased clock speeds for better performance and functionality. Most large-scale client-side applications are written in C or C++ and historically have been designed to be single-threaded. Making applications multithreaded ready is still a labor-intensive redelivery process. A few vendors, most notably in the multimedia area, have made some multithreaded enhancements to their applications. The gaming industry has already started shipping new games that utilizes the power of multi core processors through multi threading.
Bangladeshi ICT Industry will require investments in hardware, migration tools and human resources development to capture the share of the lucrative new area of multi thread application migration that has evolved from the availability of multi core processors in the desktop PCs. The demand for ICT graduates is again rising fast globally; even India is facing the shortage of ICT graduates for its booming ICT sector. The time has come for the local ICT industry to explore the potential in this area and take effective measures to gain access in this new niche market. The country has also seen growth over past years in local demand for various types of customized applications and unless the Bangladeshi software companies realize the potential of the new technologies it might face serious challenges from software vendors across the border. Bangladesh Association of Software and Information Services (BASIS) should rise to the occasion and take appropriate measures to update its members on the issue. Feedback : tbarkatullah@yahoo.com
Microprocessor, heart of computer technology has undergone phenomenal technological advancement. The latest advancement is the arrival of multi-core processors by various processor manufacturers for desktops and servers. Multi core is the new hot topic in the latest round of CPUs from Intel, AMD, IBM, Sun, etc. With clock speed increases becoming more and more difficult to achieve, vendors have turned to multi-core CPUs as the best way to gain additional performance. Customers are excited about the promise of more performance through parallel processors for the same investment.
The multi-core processors have given way to the new multi threading programming techniques. "Threading" is defined as running different sections of code simultaneously on different processors. Multithreaded applications require stricter care than single-threaded applications when accessing data. Because there are multiple, independent paths of execution in use simultaneously in multithreaded applications, either the algorithms, the data, or both must be aware that data could be used by more than one thread at a time.
The advent of multi-core processors has brought new avenues of opportunities in software outsourcing business. The clients investing on multi-core processors are already looking at the opportunities for converting their existing applications to multithreaded applications. The dawn of this new opportunity is comparable to the Y2K era software outsourcing by the developed countries. The migration to multithreaded application is labor intensive and requires higher degree of competencies and skill sets.
The major enterprise applications such as Oracle, WebLogic, DB2, and Apache are designed to take full advantage of multiple processors and are architected to be multithreaded. These are ready because the multi-core processor arrived in the server category much earlier than the desktop PCs. Even though the concept of using concurrent CPUs to increase overall software performance has been around for at least 35 years, these were limited to very high end computing platforms. Very little development tools were available in the commercial marketplace. As a result, the vast majority of current applications are single-threaded.
The introduction of multi-core CPU-based desktop systems has infused transition of the applications from single thread to multithread application as customers figure out that most of their applications run no faster on a dual- or quad-core system than on a unicore system. To match the power of dual core machines/CPUs, application vendors will have to do what Sun did and "encourage" application vendors to redesign their applications to be multithread ready. Desktop application vendors who have been able to depend on continual CPU clock increases will now have to invest in a long and painful rewrite of their software to gain the next jump in performance and functionality. All this could take years. Moreover, more agile companies will now have an opening to make multi threading transitions investments faster, potentially snagging customers from incumbent vendors that are too slow to make the transition.
Recognizing the need to make these applications run multithreading in order to sell their new SMP servers, Sun leveraged its experience by assigning engineers to these companies to help them in their migration. The situation today is quickly becoming a replay of what happened to face the millennium bug of Y2K. Application vendors requiring more CPU bandwidth can no longer count on increased clock speeds for better performance and functionality. Most large-scale client-side applications are written in C or C++ and historically have been designed to be single-threaded. Making applications multithreaded ready is still a labor-intensive redelivery process. A few vendors, most notably in the multimedia area, have made some multithreaded enhancements to their applications. The gaming industry has already started shipping new games that utilizes the power of multi core processors through multi threading.
Bangladeshi ICT Industry will require investments in hardware, migration tools and human resources development to capture the share of the lucrative new area of multi thread application migration that has evolved from the availability of multi core processors in the desktop PCs. The demand for ICT graduates is again rising fast globally; even India is facing the shortage of ICT graduates for its booming ICT sector. The time has come for the local ICT industry to explore the potential in this area and take effective measures to gain access in this new niche market. The country has also seen growth over past years in local demand for various types of customized applications and unless the Bangladeshi software companies realize the potential of the new technologies it might face serious challenges from software vendors across the border. Bangladesh Association of Software and Information Services (BASIS) should rise to the occasion and take appropriate measures to update its members on the issue.
Feedback : tbarkatullah@yahoo.com