Saturday, June 15, 2013
What is Process State Diagram?
Posted by
Sunflower
at
6/15/2013 09:36:00 PM
0
comments
Labels: CPU, Diagram, Events, Input, Memory, Multiple, Multitasking, Operating System, Primary, Process, Process Sate Diagram, Processors, Queue, Ready, Secondary, States, Time, Transition, Waiting
|
| Subscribe by Email |
|
Monday, April 8, 2013
What are features of Hyper-Threading technology?
Features of Hyper Threading Technology
- Hyper–threading technology reduces the
number of instructions in the pipeline that are dependent in nature. This
is also its main purpose.
- Architecture: The hyper – threading technology
is based on the super scalar architecture. This kind of architecture is
capable of operate multiple instructions in parallel with separate data.
It appears as if there are two processors, thus letting the OS operate
with two processes simultaneously.
- Resource sharing: The same resources can be
shared by the two or more processors available. Re–allocation of the
resources can be done up on the failure of one of the processes.
- Support for SMT: Hyper–threading implies the
support for SMT through an OS that is SMT supportable. The OS needs to be
specially optimized for this technology. It is recommended by Intel to
disable the HTT if the OS have not been optimized for HTT.
- Two processors: Certain processor sections are duplicated by the HTT. These are the sections in which the architectural states are stored. The main execution resources are not duplicated. Because of this, the HT processor appears as two processors to the OS namely, the physical and the logical processor. So the OS is able to process two threads at the same time without messing up. When a current task is not using the execution resources and the HTT and when the processor is stalled (because of data dependency, cache miss or branch mis-prediction), those resources can be used by the HT processor in execution of some other task scheduled earlier.
- Support for SMP: SMP stands for symmetric
multiprocessing which is mandatory for taking full advantage of the hyper
– threading processing.
- Transparency: There is a lot of transparency
between the OS, its programs and this technology.
- Easy optimization: HTT allows easy
optimization of the behavior of the OS on HTT capable systems running on
multiprocessors.
- Provides support for multi–threaded code
thus improving both the response time and reaction.
- Application – dependent performance: It works
well in improving the performance of most of the MPI applications. The
improvement in the performance depends largely on the nature of the
running application and its cluster configuration. The performance gain
can also be negative. Using performance tools would be beneficial for
understanding the factors contributing to performance gain and
degradation.
- Security: A timing attack can be used by some malicious thread for monitoring the other thread’s memory access patterns. This is nothing but the stealing of the cryptographic info. This can be avoided by changing the cache eviction strategy of the processor.
Posted by
Sunflower
at
4/08/2013 04:09:00 PM
0
comments
Labels: Architecture, Behavior, Code, Data, Features, Hyper-Threading, Multi-processing, Operating System, Performance, Processors, Programs, Resources, Support, Tasks, Technology, Transparent
|
| Subscribe by Email |
|
Thursday, January 5, 2012
What are different aspects of distributed testing?
We have heard a lot about different kinds of testing such as regression testing, scalability testing, web testing, unit testing, visual testing, and performance testing and so on. But do you know what is distributed testing? Ever heard about it? No? Then this piece of writing is certainly for you!
This type of testing usually receives very less coverage and that’s why most of the people are not familiar with it. Here I have attempted to explain what is meant by distributed testing and how it compares with its non distributive counterpart.
Non distributed testing can be defined as the tests that run or execute only on a single computer and usually do not involve any kind of interaction with the other computer systems. I used the word “usually” here because there exist some tests that are executed from a host machine to test the target device which holds an embedded or a real time operating system. Non distributed test cases can be configured very easily.
Non distributed testing is further divided into two sub categories namely local testing and remote testing. They have been discussed in details below:
- Local Testing
This kind of testing involves running the test cases on a local computer system. The tests used are called local tests. For performing local test you don’t have to be connected to a network connection.
- Remote Testing
This kind of testing requires a network connection so that you can run a test on a remote computer system to which you don’t have local access. This is very comfortable since you can work right from your desk and you also get the results right on your desk. Remote tests can be performed on several computer systems at a time. The best about thing about remote testing is that no matter how many software systems are under the distributed testing, there is no interference between the processors of different CPUs.
Now that you have got the idea of how non distributed testing is like, it will be easy for you to understand distributed testing is like.
- A distributed test case consists of many parts that interact with each other.
- Each part of the test case is executed on different computer system.
- The interaction of the different parts of the distributed testing sets it apart from non distributed testing.
- If you notice the testing is all about testing the interaction between different computer systems.
- All of the test cases being processed on different processors have a common aim irrespective of the system on which they are performed.
- Distributed testing is not to be confused with simultaneous testing since in simultaneous testing there is no interaction between the different tests.
- Platform proves to be one of the great challenges to the distributed testing.
- The testing environment should be capable of working on all the platforms involved effectively.
- After setting up of your testing environment, you need to make a test plan or say that you need to describe how you want to carry out distributed testing.
- This can be done via a test scenario.
- A test scenario lists all the test cases and also describes how they are to carried out on the computer systems.
- The description of the test cases is provided in the form of a formal directive.
- Test scenario is an effective way to describe test cases.
- For distributed testing we use distributed directives and for non distributed testing we use remote directives.
Posted by
Sunflower
at
1/05/2012 01:38:00 PM
0
comments
Labels: Computer system, computers, Devices, Distributed, Distributed Testing, Environment, Interaction, Local Testing, Network, Platforms, Processors, Remote Testing, Scenarios, Test cases, Test Plan, Tests
|
| Subscribe by Email |
|