Subscribe by Email


Showing posts with label Transparent. Show all posts
Showing posts with label Transparent. Show all posts

Friday, September 20, 2013

Differentiate between transparent and nontransparent fragmentation?

A number of problems are encountered because of the size of the data packets. There is no ability in the data link layer by means of which it could handle these problems and so the bridges also don’t work here. 
The Ethernet also experiences a number of problems because of the following:
Ø  Different way in which the maximum packet size is defined.
Ø  Maximum packet size that can be handled by a router.
Ø  The maximum length slot that are used for transmission
Ø  Errors due to the packet length
Ø  Standards

The data packets can be fragmented in two ways namely:
  1. Transparent and
  2. Non – transparent
Both these ways can be followed based on a network by network basis. We can also say that no such end – to – end agreement exists based up on which it can be decided which process is to be used.

Transparent Fragmentation: 
- This type of fragmentation is followed when a packet is split in to smaller fragments by a router.
- These fragments are sent to the next router which does just the opposite i.e., it reassembles the fragments and combine them to form original packet. 
- Here, the next network does not come to know whether any fragmentation has taken place. 
- Transparency is maintained between the small packet networks when compared to the other subsequent networks.
- For example, transparent fragmentation is used by the ATM networks by means of some special hardware. 
- There are some issues with this type of fragmentation. 
- It puts some burden on the performance of the network since all the fragments have to be transmitted through the same gateway. 
- Also, sometimes the repeated fragmentation and reassembling has to be done for small packet network in series. 
- Whenever an over-sized packet reaches a router, it is broken up in to small fragments. 
- These fragments are transported to the next exit router. 
- The fragments are assembled by this exit router which then forwards them to the next router.
- Awareness regarding this fragmentation is not maintained for the subsequent networks. 
- For a single packet fragmentation is done many times before the destination is finally reached. 
- This of course consumes a lot of time because the repeated fragmentation and assembling has to be carried out. 
- Sometimes, it also presents the reason of corrupting the packet’s integrity.

Non-Transparent Fragmentation: 
- In this type, the packet is split in to fragments by one router. 
- But the difference is that these fragments are not reassembled until the fragments reach their destination. 
- They remain split till then. 
- Since in this type of fragmentation the fragments are assembled only at the destination host, the fragments can be routed independent of each other. 
- This type of fragmentation also experiences some problems such as header has to be carried by each of the fragments till they reach their destination. 
Numbering has to be done for all the fragments so that no problem is experienced in reconstructing the data stream.


Whichever type of fragmentation we use, one thing has to be made sure which is that later we should be able to form the original packets using the fragments. This insists on having some type of labeling for the fragments. 

Segmentation is another name for the fragmentation. A packet is injected in to the data link layer by the IP layer but it is not responsible for reliable transmission of the packets. Some maximum value on the size of the packets is imposed by each layer for their reasons. For a large packet that travels through the network for which the MTU is small, fragmentation is very much needed. 


Monday, April 8, 2013

What are features of Hyper-Threading technology?


The HT technology or the hyper–threading technology is a proprietary SMT (simultaneous multi–threading) implementation developed by Intel in order to make improvements in the pluralization of the computations that are carried out by the microprocessors in PC. It was first included in the Xeon server processes and then in Pentium 4 processors, atom, Itanium, core I series etc. Two logical or virtual cores are addressed by the operating system for each physical processor core present. The workload is shared among these two whenever required and possible.

Features of Hyper Threading Technology

  1. Hyper–threading technology reduces the number of instructions in the pipeline that are dependent in nature. This is also its main purpose.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. Support for SMP: SMP stands for symmetric multiprocessing which is mandatory for taking full advantage of the hyper – threading processing.
  7. Transparency: There is a lot of transparency between the OS, its programs and this technology.
  8. Easy optimization: HTT allows easy optimization of the behavior of the OS on HTT capable systems running on multiprocessors.
  9. Provides support for multi–threaded code thus improving both the response time and reaction.
  10. 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.
  11. 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. 
The hyper – threading technology has been criticized heavily for being energy inefficient. It has been stated by ARM that power consumption in SMT is more than in the dual – core designs by a margin of 46%. It was also claimed that cash thrashing is also increased by a margin of 42% in SMT when compared to a 37% decrease in the case of dual core processors. However, on the other side, Intel has claimed the HTT to be highly efficient since it puts the ideal resources to use. 


Sunday, March 4, 2012

What is meant by test bed and test data?

Software testing is loaded with so many concepts and terms that sometimes it gets so confusing that one is not able to decide what a concept means. To carry out effective software testing, one needs to be thorough with all sorts of terms related to it like test bed, test data, test logs, test environment, test cases and etc.

Here in this article we are going to discuss regarding two significant terms namely test bed and test data.

INTRODUCTION TO TEST BED

- Test bed can be thought of as platform on which the experimentations are carried out for development of large projects.
- Test beds are developed so that any amount and kind of rigorous as well as replicable and transparent testing of the computational tools, scientific theories as well as new technologies can be carried out on it.
- The term test bed usually denotes a development environment.
- These types of development environment are shielded or kept safe from the hazards of real and live testing i.e., testing in a production environment.
- The development environment provided by the test bed is ideal for carrying out testing on an isolated module which can be a library, functionality, feature or class.
- Isolated testing of some modules is very much required during the usual testing.
- It is not necessary that a test bed should be implemented only for the purpose of maintaining security during the testing schedule.
- A test bed serves as a proof for a new module or concept that it has been tested in isolation and later will be added to the software system or application.
- A skeleton framework or replica of the actual framework is set all around the module in order to make it behave like it has already been installed in the software system or application.
- For an application to be tested, the test bed should be composed of both hardware and software components.
- Test environment is another name for test bed.
- The term test bed is a less familiar one and is rarely used.
- These days online test beds are also available where the public can test the HTML or CSS code that they have created and want to test for the outcomes.

COMPONENTS OF TEST BED
A typical test bed includes the below mentioned components:

1. Hardware
2. Software and
3. Networking components

INTRODUCTION TO TEST DATA

- Test data is the data that has been exclusively designed to be used an input for the test cases for software testing.
- Sometimes data might be used for some comparison purpose.
- Other times it might be used to check how the program behaves to unusual types of data.
- There are many approached for producing test data.
- Some are highly systematic and focussed; some are more informal while some others are automated.
- Test data generation forms an extremely important part of the whole software development life cycle.
- Nowadays test data generation has become a less intensive task as there are many automated data generation tools available.


Friday, December 16, 2011

What are different types of white box testing? Part 2

White-box testing or clear box testing, transparent box testing, glass box testing, structural testing as it is also known can be defined as a method for testing software applications or programs. White box testing includes techniques that are used to test the program or algorithmic structures and working of that particular software application in opposition to its functionalities or the results of its black box tests.

White-box testing can be defined as a methodology to verify the source code of the software system if it works as expected or not. White box testing is a synonym for structural testing.

Unit testing and Integration testing is already discussed in previous post.

Types of White Box Testing



- Function level testing:
This white box testing is carried to check the flow of control of the program. Adequate test cases are designed to check the control flow and coverage. During functionality level white box testing simple input values can be used.

- Acceptance level testing:
This type of white box testing is performed to determine whether all he specifications of a software system have been fulfilled or not. It involves various kinds of other tests like physical tests, chemical tests and performance tests.

- Regression level testing:
This type of white box testing can also be called as retesting. It is done after all the modifications have been done to the software and hardware units. Regression level white box testing ensures that the modifications have not altered the working of the software and has not given rise to more bugs and errors.

- Beta level testing:
Beta testing is that phase of software testing in which a selected audience tries out the finished software application or the product. It is also called pre- release testing.


Facebook activity