A new programming language is introduced to implement monitoring and control systems:
· Explain how you would verify that executable code that is generated from the source code of this language is capable of running on multiple processors simultaneously.
· Research and discuss the capabilities and drawbacks of at least two code profiling tools that you would use to measure the performance of the new programming language.
Full Answer Section
Here are two code profiling tools that you could use to measure the performance of the new programming language:
- Intel® VTune™ Amplifier XE: This tool can be used to profile code running on Intel® processors. It can measure the performance of the code in terms of time, instructions, and memory usage.
- LLVM Clang/LLVM-O: This tool can be used to profile code running on any processor architecture. It can measure the performance of the code in terms of time, instructions, and memory usage.
Both of these tools have their own strengths and weaknesses. Intel® VTune™ Amplifier XE is more specialized for Intel® processors, but it can provide more detailed information about the performance of the code. LLVM Clang/LLVM-O is more portable, but it may not provide as much detailed information about the performance of the code.
Ultimately, the best code profiling tool for you will depend on your specific needs and requirements.
Here are some additional things to keep in mind when verifying that executable code can run on multiple processors:
- The code must be written in a way that is explicitly parallelizable. This means that the code should be structured in a way that it can be broken down into independent tasks that can be executed simultaneously.
- The compiler must support multithreading. The compiler will take the source code and generate machine code that can be executed by multiple processors.
- The runtime environment must support multithreading. The runtime environment will manage the execution of the code on multiple processors.
- The hardware must be capable of running multiple threads simultaneously. The hardware must have multiple processors or cores.
By following these steps, you can verify that executable code that is generated from the source code of a new programming language is capable of running on multiple processors simultaneously.