Something More for Research

Explorer of Research in Information Technology

  • Blog Stats

    • 34,054 hits
  • Subscribe

  • Enter your email address to follow this blog and receive notifications of new posts by email.

    Join 2,976 other followers

  • Calendar

    September 2014
    M T W T F S S
    « Aug    
    1234567
    891011121314
    15161718192021
    22232425262728
    2930  
  • Goodreads

  • Spam Blocked

  • Pages

  • Blogs I Follow

  • Categories

How to Build a GPU-Accelerated Research Cluster

Posted by Hemprasad Badgujar on September 6, 2014

Some of the fastest computers in the world are cluster computers. A cluster is a computer system comprising two or more computers (“nodes”) connected with a high-speed network. Cluster computers can achieve higher availability, reliability, and scalability than is possible with an individual computer. With the increasing adoption of GPUs in high performance computing (HPC), NVIDIA GPUs are becoming part of some of the world’s most powerful supercomputers and clusters. The most recent top 500 list of the worlds fastest supercomputers included nearly 50 supercomputers powered by NVIDIA GPUs, and the current world’s fastest supercomputer, Oak Ridge National Labs TITAN, utilizes more than 18,000 NVIDIA Kepler GPUs.

In this post I will take you step by step through the process of designing, deploying, and managing a small research prototype GPU cluster for HPC. I will describe all the components needed for a GPU cluster as well as the complete cluster management software stack. The goal is to build a research prototype GPU cluster using all open source and free software and with minimal hardware cost.

I gave a talk on this topic at GTC 2013 (session S3516 – Building Your Own GPU Research Cluster Using Open Source Software Stack). The slides and a recording are available at that link so please check it out!

There are multiple motivating reason for building a GPU-based research cluster.

  • Get a feel for production systems and performance estimates;
  • Port your applications to GPUs and distributed computing (using CUDA-aware MPI);
  • Tune GPU and CPU load balancing for your application;
  • Use the cluster as development platform;
  • Early experience means increased readiness;
  • The investment is relatively small for a research prototype cluster

Figure 1 shows the steps to build a small GPU cluster. Let’s look at the process in more detail.

Steps in building GPU based Clusters
Figure 1: Seven steps to build and test a small research GPU cluster.

1. Choose Your Hardware

There are two steps to choosing the correct hardware.

  1. Node Hardware Details. This isthe specification of the machine (node) for your cluster. Each node has the  following components.
    • CPU processor from any vendor;
    • A motherboard with the following PCI-express connections:
      • 2x PCIe x16 Gen2/3 connections for Tesla GPUs;
      • 1x PCIe x8 wide for HCI Infiniband card;
    • 2 available network ports;
    • A minimum of 16-24 GB DDR3 RAM. (It is good to have more RAM in the system).
    • A power-supply unit (SMPS) with ample power rating. The total power supply needed includes power taken by the CPU, GPUs and other components in the system.
    • Secondary storage (HDD / SSD) based on your needs.

    GPU boards are wide enough to cover two physically adjacent PCI-e slots, so make sure that the PCIe x16 and x8 slots are physically separated on the motherboard so that you can fit a minimum of 2 PCI-e x16 GPUs and 1 PCIe x8 network card.

  2. Choose the right form factor forGPUs. Once you decide your machine specs you should also decide which modelGPUs you would like to consider for your system. The form factor ofGPUs is an important consideration. Kepler-based NVIDIA TeslaGPUs are available in two main form factors.
    • Tesla workstation products (C Series) are actively cooled GPU boards (this means they have a fan cooler over the GPU chip) that you can just plug in to your desktop computer in a PCI-e x16 slot. These use either two 6-pin or one 8-pin power supply connector.
    • Server products (M Series) are passively cooled GPUs (no fans) installed in standard servers sold by various OEMs.

    There are three different options for adding GPUs to your cluster:

    • you can buy C-series GPUs and install them in existing workstations or servers with enough space;
    • you can buy workstations from a vendor with C-series GPUs installed; or
    • you can buy servers with M-series GPUs installed.

2. Allocate Space, Power and Cooling

The goal for this step is to assess your physical infrastructure, including space, power and cooling needs, network considerations and storage requirements to ensure optimal system choices with room to grow your cluster in the future. You should make sure that you have enough space, power and cooling for your cluster. Clusters are mainly rack mounted, with multiple machines installed in a vertical rack. Vendors offer many server solutions that minimize the use of rack space.

3. Assembly and Physical Deployment

After deciding the machine configuration and real estate the next step is to physically deploy your cluster. Figure 2 shows the cluster deployment connections. The head node is the external interface to the cluster; it receives all external network connections, processes incoming requests, and assigns work to compute nodes (nodes with GPUs that perform the computation).

In a research prototype cluster you can also make use one of the compute nodes as a head node, but routing all traffic from the head node and also making it a compute node is not a good idea for production clusters because of performance and security issues. Production and large clusters mostly have a dedicated node to handle all incoming traffic while the head node just manages the work distribution for the compute nodes.

Head Node & Compute Nodes connections
Figure 2: Head node and compute node connections.

4. Head Node Installation

I recommend installing the head node with the open source Rocks Linux distribution. Rocks is a customizable, easy and quick way to install nodes. The Rocks installation package includes essential components for clusters, such as MPI. ROCKS head node installation is well-documented in the Rocks user guide, but here is a summary of the steps.

  • Follow the steps in Chapter 3 of the Rocks user guide and do a CD-based installation.
  • Install the NVIDIA drivers and CUDA Toolkit on the head node. (CUDA 5 provides a unified package that contain NVIDIA driver, toolkit and CUDA Samples.) 
  • Install network interconnect drivers (e.g. Infiniband) on the head node. These drivers are available from your interconnect manufacturer.
  • Nagios® Core™ is an open source system and network monitoring application. It watches hosts and services that you specify, alerting you when things go wrong and when they get better. To install, follow the instructions given in the Nagios installation guide.
  • The NRPE Nagios add-on allows you to execute Nagios plugins on remote Linux machines. This allows you to monitor local resources like CPU load and memory usage, which are not usually exposed to external machines, on remote machines using Nagios. Install NRPE following the install guide.

5. Compute Node Installation

After you have completed the head node installation, you will install the compute node software with the help of Rocks and the following steps.

  • On the head node: in a terminal shell run the command:
    > insert-ethers

    Choose “Compute Nodes” as the new node to add.

  • Power on the compute node with the Rocks CD as the first boot device or do a network installation.
  • The compute node will connect to the head node and start the installation.
  • Install the NRPE package as described in the NRPE guide.

6. Management and Monitoring

Once you finish the head node and all compute node installations, your cluster is ready to use! Before you actually start using it to run applications of interest, you should also set up management and monitoring tools on the cluster. These tools are necessary for proper management and monitoring of all resources available in cluster. In this section, I will describe various tools and software packages for GPU management and monitoring.

GPU SYSTEM MANAGEMENT

The NVIDIA System Management Interface (NVIDIA-SMI) is a tool distributed as part of the NVIDIA GPU driver. NVIDIA-SMI provides a variety of GPU system information including

  • thermal monitoring metrics: GPU temperature, chassis inlet/outlet temperatures;
  • system Information: firmware revision, configuration information;
  • system state: fan states, GPU faults, power system fault; ECC errors, etc.

NVIDIA-SMI allows you to configure the compute mode for any device in the system (Reference: CUDA C Programming Guide)

  • Default compute mode: multiple host threads can use the device at the same time.
  • Exclusive-process compute mode: Only one CUDA context may be created on the device across all processes in the system and that context may be current to as many threads as desired within the process that created the context.
  • Exclusive-process-and-thread compute mode: Only one CUDA context may be created on the device across all processes in the system and that context may only be current to one thread at a time.
  • Prohibited compute mode: No CUDA context can be created on the device.

NVIDIA-SMI also allows you to turn ECC (Error Correcting Code memory) mode on and off. The default is ON, but applications that do not need ECC can get higher memory bandwidth by disabling it.

GPU MONITORING WITH THE TESLA DEPLOYMENT KIT

The Tesla Deployment Kit is a collection of tools provided to better manage NVIDIA Tesla™ GPUs. These tools support Linux (32-bit and 64-bit), Windows 7 (64-bit), and Windows Server 2008 R2 (64-bit). The current distribution contains NVIDIA-healthmon and the NVML API.

NVML API

The NVML API is a C-based API which provides programmatic state monitoring and management of NVIDIA GPU devices. The NVML dynamic run-time library ships with the NVIDIA display driver, and the NVML SDK provides headers, stub libraries and sample applications. NVML can be used from Python or Perl (bindings are available) as well as C/C++ or Fortran.

Ganglia is an open-source scalable distributed monitoring system used for clusters and grids with very low per-node overhead and high concurrency. Ganglia gmond is an NVML-based Python module for monitoring NVIDIA GPUs in the Ganglia interface.

NVIDIA-HEALTHMON 

This utility provides quick health checking of GPUs in cluster nodes. The tool detects issues and suggests remedies to software and system configuration problems, but it is not a comprehensive hardware diagnostic tool. Features include:

  • basic CUDA and NVML sanity check;
  • diagnosis of GPU failures;
  • check for conflicting drivers;
  • poorly seated GPU detection;
  • check for disconnected power cables;
  • ECC error detection and reporting;
  • bandwidth test;
  • infoROM validation.

7. Run Benchmarks and Applications

Once your cluster is up and running you will want to validate it by running some benchmarks and sample applications. There are various benchmarks and code samples for GPUs and the network as well as applications to run on the entire cluster. For GPUs, you need to run two basic tests.

  1. devicequery: This sample code is available with the CUDA Samples included in the CUDA Toolkit installation package. devicequery simply enumerates the properties of the CUDA devices present in a node. This is not a benchmark but successfully running this or any other CUDA sample serves to verify that you have the CUDA driver and toolkit properly installed on the system.
  2. bandwidthtest: This is another of the CUDA Samples included with the Toolkit. This sample measures the cudaMemcopy bandwidth of the GPU across PCI-e as well as internally. You should measure device-to-device copy bandwidth, host-to-device copy bandwidth for pageable and page-locked memory, and device-to-host copy bandwidth for pageable and page-locked memory.

To benchmark network performance, you should run the bandwidth and latency tests for your installed MPI distribution. MPI standard installations have standard benchmarks such as /tests/osu_benchmarks-3.1.1. You should consider using an open source CUDA-aware MPI implementation like MVAPICH2, as described in earlier Parallel Forall posts An Introduction to CUDA-Aware MPI and Benchmarking CUDA-Aware MPI.

To benchmark the entire cluster, you should run the LINPACK numerical linear algebra application. The top 500 supercomputers list uses the HPL benchmark to decide the fastest supercomputers on Earth. The CUDA-enabled version of HPL (High-Performance LINPACK) optimized for GPUs is available from NVIDIA on request, and there is a Fermi-optimized version available to all NVIDIA registered developers.

In this post I have provided an overview of the basic steps to build a GPU-accelerated research prototype cluster. For more details on GPU-based clusters and some of best practices for production clusters, please refer to Dale Southard’s GTC 2013 talk S3249 – Introduction to Deploying, Managing, and Using GPU Clusters by Dale Southard.

Posted in Computer Languages, CUDA, GPU (CUDA), OpenMP, PARALLEL | Tagged: , | Leave a Comment »

Architectures of Mobile Cloud Computing

Posted by Hemprasad Badgujar on August 30, 2014

“Mobile Cloud Computing at its simplest, refers to an infrastructure where both the data storage and the data processing happen outside of the mobile device. Mobile cloud applications move the computing power and data storage away from mobile phones and into the cloud, bringing applications and mobile computing to not just smartphone users but a much broader range of mobile subscribers”.

1
From the concept of MCC, the general architecture of MCC can be shown in Fig.  In Fig. , mobile devices are connected to the mobile networks via base stations (e.g., base transceiver station (BTS), access point, or satellite) that establish and control the connections (air links) and functional interfaces between the networks and mobile devices. Mobile users’ requests and information (e.g., ID and location) are transmitted to the central processors that are connected to servers providing mobile network services. Here, mobile network operators can provide services to mobile users as AAA (for authentication, authorization, and accounting) based on the home agent (HA) and subscribers’ data stored in databases. After that, the subscribers’ requests are delivered to a cloud through the Internet. In the cloud, cloud controllers
process the requests to provide mobile users with the corresponding cloud services. These services are Accepted in Wireless Communications and Mobile Computing -developed with the concepts of utility computing, virtualization, and service-oriented architecture (e.g.,web, application, and database servers).

http://onlinelibrary.wiley.com/doi/10.1002/wcm.1203/abstract

Posted in CLOUD, Computer Network & Security, Computer Software, Computing Technology | Tagged: , | Leave a Comment »

VISUAL STUDIO 2012 ADD-IN FOR QT5

Posted by Hemprasad Badgujar on August 20, 2014

VISUAL STUDIO 2012 ADD-IN FOR QT5

We need to download the following two:

  • Qt5 SDK , In my case, it’s the Qt 5.1.1 for Windows 64-bit (VS 2012, OpenGL, 522 MB) (Info)
  • Visual Studio Add-in 1.2.2 for Qt5

    Once the Add-in installed successfully, we should now see QT5 show up on the Menu Bar:

    Qt5inVS.png

    SETTING QT5 OPTIONS

    The next step is to let the VS know where to get bin/qmake and lib/libraries. Without this step, we may get “Unable to find a Qt build! To solve this problem specify a Qt build” when we try to create a new Qt5 project.

    In my case, they are under “C:\Qt\Qt5.1.1\5.1.1\msvc2012_64_opengl”.

    QtPath_to_qmake.png

    So, we need to pass this information.

    From the top menu, QT5->Qt Options. Then, select “Add” and type the path into “Path”

    AddNewQtVersion.png

    The “Version name” should be filled with 5.1.1. Hit OK.

    Qt_Options.png

    CREATING A NEW QT5 PROJECT

    Now, let’s create a new Visual Studio Project: File -> New -> Project. We will now see a new addition called Qt5 Projects. This allows us to create various Qt applications. For now, select “Qt Application”

    NewProject.png

    WelcomQt5GUI.png

    ProjectSettings.png

    We just leave everything untouched.

    GeneratedClass.png

    Press “Finish”

    SolutionExplorer.png

    BUILDING QT5 PROJECT

    Let’s build the project and run.

    We’re going to add simple UI (QProgressBar and QSlider) with “valueChanged(int)” signal and “setValue(int)” slot.

    Before we start building the project, we may want to make sure that our host and target are set properly.

    Things to check – in my case, Host:x64, Target (Platform):x64

    If this is not set properly, we may get “linking problem: fatal error LNK1112: module machine type ‘x64′ conflicts with target machine type ‘X86′ or something similar error messages.

    • Check properties options in linker settings at: Properties > Configuration Properties > Linker > Advanced > Target Machine. In my case, it should be x64.
    • Select Build > Configuration Manager from the main menu in visual studio. Make sure our project has the correct platform specified.

    After that, we should check Qt Project Settings as well. If this hasn’t been set, we may get “There’s no Qt version assigned to this project for platform x64″ – visual studio plugin for Qt:

    Right click the project > Qt Peoject Settings > Under the Properties tab > Version

    QtProjectSettings_5_1_1.png

    Set signal and slot for the UI we added:

    Signal_Slot_valueChanged_setValue.png

    Build and run:

    HelloQtRun.png

    The progress bar keeps updated as we move the slider. So, seems to be working fine!

Posted in Computer Vision, Project Related | Leave a Comment »

RSVP/Join to a Meetup

Posted by Hemprasad Badgujar on August 16, 2014

RSVP to a Meetup

On your Meetup Group home page, you’ll find each upcoming Meetup listed in the center of the page along with an RSVP button.

Click on the RSVP button to view the details of the Meetup. Then you can RSVP by checking Yes or No and clicking the RSVP button. Use the fields provided to add guests or a comment to your RSVP, which will be added to the Meetup’s conversation stream.

111

 
​​When you receive an email announcement of a new Meetup, you can click on the Yesor No button in the email to register your RSVP directly from your email inbox.

 

122222

The email will also display some other upcoming Meetups for the group, so that you can RSVP to those as well.

If your plans change, click the Change RSVP button to change the number of guests you’ll be bringing, or to alert your Organizer that you are no longer able to go to.

 

Posted in Mixed | Leave a Comment »

How to convert apk file to source code

Posted by Hemprasad Badgujar on August 9, 2014

Step 1:
Make a new folder and put .apk file in it (which you want to decode). Now rename the extension of this .apk file to .zip (eg. rename from filename.apk to filename.apk.zip) and save it. Now you get classes.dex files, etc. At this stage you are able to see drawable but not java & xml files, so continue.
** UPDATE: Android Complete tutorial now available here.
Step 2:
Now extract this zip apk file in the same folder. Now download dex2jar from this link dex2jar and extract it to the same folder. Now open command prompt and change directory to that folder. Then write dex2jar classes.dex and press enter. Now you get classes.dex.dex2jar file in the same folder. Then download java decompiler from this link Java.decompiler.free and now double click on jd-gui and click on open file. Then open classes.dex.dex2jar file from that folder. Now you get class files and save all these class files (click on file then click “save all sources” in jd-gui) by src name. At this stage you get java source but the xml files are still unreadable, so continue to Step 3.

Step 3:
Now open another new folder and put these files

  1. Put .apk file which you want to decode
  2. Download apktool v1.x AND apktool install window using Google(http://code.google.com/p/android-apktool/downloads/list) (Very important first download apktool-install-windows-r05-ibot and extract the file . Second download apktool1.5.2, extract jar in that and put it in same folder ) and put in the same folder
  3. Download framework-res.apk file using Google and put in the same folder (Not all apk file need framework-res.apk file)
  4. Open a command window
  5. Navigate to the root directory of APKtool and type the following command: apktool if framework-res.apk
  6. apktool and "fname".apk (“fname” denotes filename which you want to decode)

Now you get a file folder in that folder and now you can easily read xml files also.

Step 4:
It’s not any step just copy contents of both folder to the single one and now enjoy with source code.

Posted in Mixed | Leave a Comment »

How to solve error message “The application was unable to start correctly (0x000007b). Click OK to close the application”

Posted by Hemprasad Badgujar on August 5, 2014

How to solve error message “The application was unable to start correctly (0x000007b). Click OK to close the application”

This error message may occur on 64 bit operating systems when the Microsoft Visual C++ Redistributable Package is not properly configured.

You can find below the procedure for replacing the corrupted /misconfigured Windows files which should solve the issue you are dealing with:

1. Click here to download the archive and decompress it to reveal the correct Windows files.

The archived contains 5 files:

mfc100.dll, mfc100u.dll, msvcr100.dll, msvcp100.dll and msvcr100_clr0400.dll

Please save these files to any location on your PC;

2. Please reboot your computer in Safe Mode

[How to restart in SAFE MODE]

- Restart the computer;

- Press the “F8″ key (several times before Microsoft Windows begins to load; you need to press “F8″ until you will be displayed a text menu;

- Select “SAFE MODE”;

3. Access C:\\Windows\\System32;

4. Locate the 5 files you have downloaded and extracted;

5. Next, copy all those files to C:\\Windows\\System32 replacing the current ones;

6. Reboot in normal mode;

Posted in Mixed | Tagged: , , | Leave a Comment »

History of computer data storage devices

Posted by Hemprasad Badgujar on August 4, 2014

 History of computer data storage devices

Humankind has always tried to find ways to store information. In today s modern age, people have become accustomed to technological terminology, such as CD-ROM, USB Key, and DVD. Floppy disks and cassette tapes have been forgetting except for the most nostalgic. Subsequent generations have simply forgotten about the technology that helped evolve the efficient computer storage systems we all use everyday. As time humanity continues to push the envelope of innovation to create new possibilities.

1725 Punch cards () :The oldest known form of data storage, the punch card, was created by Basile Bouchon in 1725. The punch card is a perforated paper loop used to store patterns rather than actual data. In fact, punch cards were used to store settings for various machines and had a capacity of 960 bits.

Punch card Fortran program

 

1846 Punched tape -Punched tape was first used in 1846 by inventor of the fax machine, Alexander Bain. Punch tape consists of a long strip of paper in which holes are punched to store data. Each row on the strip represents a single character, yet considerably more data can be stored by creating a fanfold. When folded, punch tape can store up to a few dozen kilobytes—much more data than punch cards.

 

 

1928 Magnetic TapebFritz Pfleumer, a German engineer, patented magnetic tape in 1928. He based his invention off Vlademar Poulsen’s magnetic wire.
1932 Magnetic DrumG. Taushek, an Austrian innovator, invented the magnetic drum in 1932. He based his invention off a discovery credited to Fritz Pfleumer.

Selectron tubes (1946)

In 1946 RCA began developing the Selectron tube—an early form of random access storage that was never produced in a commercially viable form. The original Selectron tube measured 10 inches and could store 4096 bits but was expensive to build and therefore replaced in the market by the widely available core memory.

1946 Williams TubeProfessor Fredrick C. Williams and his colleagues developed the first random access computer memory at the University of Manchester located in the United Kingdom. He used a series of electrostatic cathode-ray tubes for digital storage. A storage of 1024 bits of information was successfully implemented in 1948.
Selectron TubeIn 1948, The Radio Corporation of America (RCA) developed the Selectron tube, an early form of computer memory, which resembled the Williams-Kilburn design.
Selectron tube
1949 Delay Line MemoryThe delay line memory consists of imparting an information pattern into a delay path. A closed loop forms to allow for the recirculation of information if the end of the delay path connects to the beginning through amplifying and time circuits. A delay line memory functions similar to inputting a repeating telephone number from the directory until an individual dials the number.
Magnetic CoreA magnetic core memory, also known as a ferrite-core memory, uses small magnetic rings made of ceramic to store information from the polarity to the magnetic field it contains.
1956 Hard diskA hard disk implements rotating platters, which stores and retrieves bits of digital information from a flat magnetic surface.

 

1963 Music tapePhilips introduced the compact audio cassette in 1963. Philips originally intended to use the audio cassette for dictation machines; however, it became a popular method for distributing prerecorded music. In 1979, Sony’s Walkman helped transformed the use of the audio cassette tape, which became widely used and popular.

1965 Compact cassette :The Compact Cassette was introduced by Philips in 1963 as a type of magnetic tape, although it didn’t gain popularity until the 1970s. A typical 90-minute cassette could store close to 700kB to 1MB of data per side of the tape. Compact Cassettes were used to store data in a few computers and remained popular until the late 1980s. 

 

1966 DRAM (PDF)In 1966, Robert H. Dennard invented DRAM cells. Dynamic Random Access Memory technology (DRAM), or memory cells that contained one transistor. DRAM cells store bits of information as an electrical charge in a circuit. DRAM cells increased overall memory density.

1968 Twistor MemoryBell Labs developed Twistor memory by wrapping magnetic tape around a wire that conducts electrical current. Bell Labs used Twistor tape between 1968 to the mid-1970s before it was totally replaced by RAM chips.
1970 Bubble MemoryIn 1970, Andrew Bobeck invented the Bubble Memory, a thin magnetic film used to store one bit of data in small magnetized areas that look like bubbles. The development of the Twistor memory enabled him to create Bubble Memory.
1971 8″ FloppyIBM started its development of an inexpensive system geared towards loading microcode into the System/370 mainframes. As a result, the 8-inch floppy emerged. A floppy disk, a portable storage device made of magnetic film encased in plastic, made it easier and faster to store data.
1976 5.25″ FloppyAllan Shugart developed a the 5.25-inch floppy disk in 1976. Shugart developed a smaller floppy disk, because the 8-inch floppy was too large for standard desktop computers. The 5.25-inch floppy disk had a storage capacity of 110 kilobytes. The 5.25-inch floppy disks were a cheaper and faster alternative to its predecessor.
1980 CDDuring the 1960s, James T. Russel thought of using light to record and replay music. As a result, he invented the optical digital television recording and playback television in 1970; however, nobody took to his invention. In 1975, Philips representatives visited Russel at his lab. They paid Russel millions for him to develop the compact disc (CD). In 1980, Russel completed the project and presented it to Sony.
1981 3.5″ FloppyThe 3.5-inch floppy disk had significant advantages over its predecessors. It had a rigid metal cover that made it harder to damage the magnetic film inside.
1984 CD RomThe CD-ROM, also known as the Compact Disk Read-Only Memory, used the same physical format as the audio compact disks to store digital data. The CD-ROM encodes tiny pits of digital data into the lower surface of the plastic disc, which allowed for larger amounts of data to be stored.
1987 DATIn 1987, Sony introduced the Digital Audio Tape (DAT), a signal recording and playback machine. It resembled the audio cassette tape on the surface with a 4 millimeter magnetic tape enclosed into a protective shell.
1989 DDSIn 1989, Sony and Hewlett Packard introduced the Digital Data Storage (DDS) format to store and back up computer data on magnetic tape. The Digital Data Storage (DDS) format evolved from Digital Audio Tape (DAT) technology.
1990 MOD (PDF)The Magneto-Optical disc emerged onto the information technology field in 1990. This optical disc format used a combination of optical and magnetic technologies to store and retrieve digital data. A special magneto-optical drive is necessary to retrieve the data stored on these 3.5 to 5.25-inch discs.
1992 MiniDiscThe MiniDisk stored any kind of digital data; however, it was predominately used for audio. Sony introduced MiniDisk technology in 1991. In 1992, Philip’s introduced the Diigtal Compact Cassette System (DCC). MiniDisk was intended to replace the audio cassette tape before it eventually phased out in 1996.
1993 DLT (PDF)The Digital Equipment Corporation invented the Digital Linear Tape (DLT), an alternative to the magnetic tape technology used for computer storage.
1994 Compact FlashCompactFlash (CF), also known as “flash drives,” used flash memory in an enclosed disc to save digital data. CF devices are used in digital cameras and computers to store digital information.
ZipThe Zip drive became commonly used in 1994 to store digital files. It was a removable disk storage system introduced by Iomega.
1995 DVDDVD became the next generation of digital disc storage. DVD, a bigger and faster alternative to the compact disc, serves to store multimedia data.
SmartMediaToshiba launched the SmartMedia, a flash memory card, in the summer of 1995 to compete with MiniCard and SanDisk.
Phasewriter DualThe Phasewriter Dual (PD) was the first device that used phase-change technology to store digital data. Panasonic introduced the Phasewriter Dual device in 1995. It was replaced by the CD-ROM and DVD.
CD-RWThe Compact Disc Rewritable disc, a rewritable version of the CD-ROM, allows users to record digital data over previous data.
1997 Multimedia CardThe Multimedia Card (MMC) uses a flash memory card standard to house digital data. It was introduced by Siemen’s and SanDisk in 1997.
1999 MicrodriveA USB Flash Drive uses a NAND-type flash memory to store digital data. A USB Flash Drive plugs into the USP interface on standard computers.
SD CardThe Secure Digital (SD) flash memory format incorporates DRM encryption features that allow for faster file transfers. Standard SD cards measure 32 millimeters by 32 millimeters by 2.1 millimeters. A typical SD card stores digital media for a portable device.
2003 Blu Ray (PDF)Blu-Ray is the next generation of optical disc format used to store high definition video (HD) and high density storage. Blu-Ray received its name for the blue laser that allows it to store more data than a standard DVD. Its competitor is HD-DVD.
xD-Picture CardOlympus and Fujifilm introduced the xD-Picture Card in 2002, which are exclusively used for Olympus and Fujifilm digital cameras.
2004 WMV-HDThe Windows Media High Definition Video (WMV-HD) references high definition videos encoded with Microsoft Media Video nine codecs. WMV-D is compatible for computer systems running Windows Vista, Microsoft Windows XP. In addition, WMV-D is compatible with Xbox-360 and Sony’s PlayStation 3.
HD-DVDHigh-Density Digital Versatile Disc (HD-DVD), a digital optical media format, uses the same disc size as Blu-Ray. It is promoted by Toshiba, NEC, and Sanyo.
Holographic (PDF)The future of computer memory resides in holographic technology. Holographic memory can store digital data at high density inside crystals and photo-polymers. The advantage of holographic memory lies in its ability to store a volume of recording media, instead of just on the surface of discs. In addition, it enables a 3D aspect that allows a phenomenon known as Bragg volume to occur.
Cloud Backup SolutionsZetta’s cloud enables businesses to protect data using backup, recover from a disaster, and archive unused files using only a lightweight sofware client and Zetta’s bi-coastal datacenters. As storage hardware and internet bandwidth continue to develop, so will Zetta’s performance.

The future of data storage

The way we store information today has certainly evolved since the 1725 advent of data storage, and the evolution is certainly for the better. Like all forms of technology, mediums of data storage will continue to change, performing better and faster while smaller in size. Think a thumb drive is about as good as it gets? Read on for a glimpse of what you may eventually be storing your files in.

E. coli

Yup, it’s possible that we may one day store our precious memories in bacteria. Researchers in Hong Kong have discovered that a single gram of bacteria is capable of holding more information than a 900TB hard drive. Storing information in bacteria and other living organisms, a process called biostorage, is a growing field of interest for students at Hong Kong’s Chinese University, who are using E. coli to test the limits of data storage.

Research in 2007 by a group of Japanese researchers, reasoned that due to bacteria’s ability to constantly reproduce, a group of these organisms could hold information for thousands of years. Students in Hong Kong are building on this previous research and have discovered a way to condense data, store it by chunks in organisms and then map the DNA to easily find the information at a later time. Biocryptography, as the process is called, could mean a revolution in the storage of text, images, music and video, because not only can so much information be stored, but it’s also resistant to hacking. These researchers are testing E. coli and other types of bacteria to determine which work best for storage and access after encryption. Some bacteria are capable of surviving nuclear radiation, leading scientists to believe our information may eventually survive even the worst of disasters. While bacteria aren’t putting the hard drive industry out of business yet, that day may come.

 

Sand

A single Carbon Crystal, reduced one atom at a time by nanomachinery, can store up to 887,808 petabytes. Yeah, yeah, but how big is that? For comparison, 1 petabyte is equivalent to over 1billion megabytes, and eight years ago, our society recorded 2,200 petabytes of data. All of that data could fit into a single grain of sand. And suppose we use diamonds instead? One nanoscale diamond is capable of storing a lifetime of data for six billion people. What’s more, this information would exist after the end of the human race.

 

Posted in Mixed | Tagged: , , , , | Leave a Comment »

Learn English quickly

Posted by Hemprasad Badgujar on August 2, 2014

Reading, listening and speaking are the most important aspects of any language. The same applies to English language. I think this article will be definitely useful for people who are more passionate about learning English quickly.

EnglishTips to speak fluent English

 

  • Read and listen

We are so fluent in our mother tongue only because we read and listen to the same language all around us. Instead of trying to converse in English at the earlier stage it is better to read English novels and then listen to English albums.  Watch English movies preferably with subtitles.  This will increase your listening capacity as well as your vocabulary. Record your own voice and listen to it. This will help you to evaluate yourself.

 

  • Improving your Vocabulary

Carry a pocket dictionary always with you. When you hear a new word then find out its meaning and antonyms.  Learn few common idioms and phrases.  Use the words which you learnt in your conversations.

  • Motivation is the half work

 

You should have a strong passion for learning English.  Dedication is the key to success. So dedicate your time as much as you can.

 

  • Be confident

“To err is human” so don’t feel to speak English. Learn the pronunciation of the words clearly then practice it. Encourage people around you to correct your mistakes. Try to find a partner who is passionate like you to learn English quickly.  Work together this will help a lot more.

 

  • Think in English

Instead of thinking in your mother tongue then translating it in to English is not a good way to improve English.  So try to think in English.

  • Stop studying grammar

Many researches prove that studying grammar alone is an inefficient way to learn English quickly.  Put away your grammar books. Grammar rules teach you to think in English.  There should be a degree of naturalness while speaking without thinking.

 

  • Study correct materials

Read good English magazines and listen to audio articles.  “Practice makes a man perfect”. So if you practice with some material which is not correct then you will be used to speak incorrectly.  So you use the materials which are used by most people.

 

  • Online chat

The easy thing for people who don’t have a chance to speak is to use online chat since because we have to think and respond quickly.

These are my suggestions that will help you achieve your goal of learning English fluently.

Posted in Computer Languages, Computer Research, Research Menu | Tagged: , , , , | Leave a Comment »

Russia Wants Apple & SAP To Turn Over Their Source Codes

Posted by Hemprasad Badgujar on August 1, 2014

Russia Wants Apple & SAP To Turn Over Their Source Codes

russiankeyboardAs you’re probably aware by now, China is not the biggest fan of Microsoft and has accused the company of anti-monopoly activities and also to a certain extent, spying. Well it looks like Russia too has fears about spying, although not necessarily from Microsoft. According to a report from Reuters, it seems that the Russian government is asking that Apple and SAP turn over their source code for inspection.

According to the Russian government, they claim that the proposal for the source code of both companies is to ensure the rights of consumers and corporate users are protected in terms of privacy of personal data, as well as to ensure state security. It seems highly unlikely that either Apple or SAP will be turning their source codes over.

After all, the source codes to their software is the bread and butter of their business activities, and if it somehow got leaked in the process of inspection, well safe to say that will be extremely disastrous.

In a statement made by Russia’s Communications Minister, Nikolai Nikiforov, “Edward Snowden’s revelations in 2013 and U.S. intelligence services’ public statements about the strengthening of surveillance of Russia in 2014 have raised a serious question of trust in foreign software and hardware.” What do you guys think? Any chance of Apple or SAP turning over their source code to the Russian government anytime soon?

Posted in Mixed | Leave a Comment »

TOOLS TO DEVELOP THE NEXT KILLER IOS OR ANDROID APP

Posted by Hemprasad Badgujar on July 22, 2014

POST NAVIGATION

  1. Random + Noteworthy Tools
  2. DIY (No Coding) App Creation Tools
  3. Development, Analytics and Management Platforms
  4. Mockup and UI Design Tools
  5. Mobile Ads + Monetization
  6. Test, Refine and Get Feedback
  7. App Promotion & Marketing
  8. Enhance App Functionality
  9. Other and Miscellaneous

RANDOM + NOTEWORTHY TOOLS

  1. Tapjoy – Drive more installs and boost your revenue.
  2. Vungle – Video trailers for your app.
  3. Skala Preview – Sends lossless, color-accurate previews to any iOS device.
  4. Apptopia – Buy and sell app ownership.
  5. appbackr – Get your apps funded or profit from funding apps.
  6. Ooomf – Create a beautiful landing page for your iPhone app in minutes.
  7. App Annie – App store analytics and market intelligence.
  8. Mopapp – App store analytics.
  9. Pieceable – Make your iOS apps work in the browser.
  10. Chupa – The marketplace for buying/selling mobile app components.
  11. Distimo – Providing valuable insight into the app store marketplace.
  12. Appsfunder – Fund your development. Build up customers. Keep ownership.
  13. PlayHaven – Mobile game LTV maximization platform and cross-promotion.
  14. Appstores.com – White label app store and distribution platform.
  15. Cloudmine – Stop writing backends for your mobile apps.

 

DIY (NO CODING) APP CREATION TOOLS

  1. Cabana – The visual way to make gorgeous custom mobile apps. *RG
  2. Mobile Roadie – Full CMS, no coding app builder for iOS and Android.
  3. Appafolio – 100% native apps, content caching for offline viewing and more.
  4. AppMakr – Point and click solution for building rich content based apps.
  5. RareWire – DIY app creation studio. Coming soon.
  6. GameSalad Creator – Create, test and publish your own game. Drag and drop.
  7. Bizness Apps – Mobile apps for businesses made easy.
  8. WebMobi – Create a mobile web app in minutes. Many features.
  9. SwebApps – An easy way to build your app in minutes.
  10. TapLynx – Create an app from your website in minutes.
  11. AppBreeder – “The online iPhone app builder.”
  12. App Press – Build iOS apps without coding.
  13. Dapp – The app design app. WYSIWYG editor with 100% money back guarantee.

DEVELOPMENT, MANAGEMENT & ANALYTICS PLATFORMS

  1. Parse – Add a powerful and scalable backend to your app in minutes.
  2. Appboy – User engagement, CRM, analytics and more.
  3. Flurry – Analytics, traffic acquisition and monetization.
  4. Mixpanel – Mobile analytics. Actions speak louder than page views.
  5. Scoreloop – Cross-platform mobile gaming SDK. Virtual currency and more.
  6. PhoneGap – Open source HTML5 framework that supports 7 platforms.
  7. Kontagent – User analytics for the mobile web.
  8. Appcelerator – Mobile app platform for building on Android, iOS and mobile web.
  9. Kendo UI Mobile – Build HTML5 apps that look native on any device.
  10. Appoxee – Making mobile app engagement easy, effective and trackable.
  11. Localytics – Powerful tools and actionable insights.
  12. Precog – Harness the power of big data to build smarter apps.
  13. Apsalar – Allows mobile publishers to analyze, optimize and monetize.
  14. Sencha – HTML5 framework for mobile devies.
  15. Flow – Build real-time apps faster, better, smarter.
  16. Game Closure – Offer a JavaScript game SDK. Runs on mobile/tablet devices.
  17. StackMob – Robust and flexible end-to-end HTML5 platform.
  18. Claritics – Intelligent analytics for mobile app developers.
  19. Tiggzi – Cloud-based mobile app builder.
  20. Capptain – Combines analytics and CRM features.
  21. Placed – The Placed SDK enables location analytics for your app.
  22. GENWI – Cloud publishing for mobile.

 

MOCKUP AND UI DESIGN TOOLS

  1. App Cooker – Advanced iOS mockup generator for mobile applications.
  2. Proto.io – Silly-fast mobile prototyping.
  3. Mockabilly – App for creating mockups on iPhone.
  4. UI Stencils – Stencils, sketch pads and accessories for UI design.
  5. Interface – Mockup and prototyping app for iPhone/iPad.
  6. justinmind – Rich interactive wireframes to define mobile apps.
  7. UXPin – User experience design tools for professionals.
  8. Symbolicons – Simple, precise and awesome vector icons.
  9. Prototypes – Turn your stackable designs into a tappable iPhone prototype.
  10. Blueprint – An iPad app for mocking up iPad/iPhone applications.
  11. Mobility – A free set of mobile UI design elements.
  12. Android GUI Set – Free Android GUI set including Photoshop files.

 

MOBILE ADS + MONETIZATION

  1. iAd – A significant revenue stream for iOS developers.
  2. Millenial Media – Monetization solutions for mobile app developers.
  3. inneractive – Mobile advertising and marketing.
  4. Burstly – Empowers developers and enables them to make more money.
  5. Airpush – Push ad network. Android app monetization.
  6. Medialets – Mobile rich media advertising.
  7. xAd – Local mobile ads.
  8. madvertise – European mobile advertising marketplace.
  9. Pontiflex – Mobile performance advertising.
  10. WHERE Ads – Deliver relevant local ads to your audience.
  11. Jumptap – Targeted mobile advertising.
  12. Tapgage – Mobile interstitial ads (also has a “click exchange” for driving traffic).

 

TEST, REFINE AND GET FEEDBACK

  1. Apptentive – Easy in-app feedback for iPhone application developers. *RG
  2. Apphance – Instant, accurate and complete mobile testing.
  3. Crashlytics – Powerful yet lightweight crash reporting for iOS and Android.
  4. StartUpLift – Submit your startup. Get featured. Get feedback.
  5. Crittercism – Gives you real-time, actionable crash reports for mobile apps.
  6. BetaBait – Find beta users and testers.
  7. BugSense – Crash reports for Android, WP and iOS apps.
  8. FieldTest – Currently in private beta.
  9. iPad GUI PSD – A free vector iPad GUI set.
  10. uTest – End-to-end software testing.
  11. Truevoo – Submit iPhone apps for users to review.

 

APP PROMOTION & MARKETING

  1. apptap – App search, recommendations and marketing.
  2. AppCod.es – iOS app store SEO and marketing.
  3. Appency – Professional mobile application marketing.
  4. App.net – Market your mobile apps with beauty, strength and intelligence.
  5. Chartboost – Succeed in the app store through cross-promotion.
  6. Appular – iPhone application marketing and public relations.
  7. Appia – An open app marketplace with over 32k developers.
  8. App Store Optimization – SEO for mobile apps.
  9. AppCircus – The global open app showcase platform.
  10. buzzdoes – App marketing and distribution tool.

 

ENHANCE APP FUNCTIONALITY

  1. PubNub – Blazingly fast cloud-hosted messaging service for real-time apps.
  2. Xtify – Push notifications for iOS, Android and Blackberry devices.
  3. Lookio – Live in-app support for mobile applications.
  4. CENZIC – Solutions for mobile application security.
  5. SecureUDID – A UDUD solution that’s secure and respects privacy.
  6. Verious – A mobile app component marketplace.
  7. ZooZ – Start accepting secure in-app payments within minutes.
  8. Applingua – iOS app localization (translation) service.
  9. Trestle – Powerful cloud services for your mobile apps.

 

OTHER AND MISCELLANEOUS

  1. Interstate – Plan and share development progress using roadmaps.
  2. Mobile Orchard – The iPhone app developer’s blog.
  3. Appolocious – Discover iPhone and iPad apps. A Yahoo directory.
  4. Orientation to Android Training – Official Android classes.
  5. StackOverflow – Question and answer site for programmers.
  6. Tap2Print – Monetize your photo/image app.
  7. StartApp – Get paid for your Android app downloads.
  8. AppLover – Helping build amazing applications.
  9. BlueStacks – Run Android apps on Windows.

 

Posted in Mixed | Tagged: , , , , , , , , | Leave a Comment »

 
Experience the real life.....!!!

Shurwaat achi honi chahiye ...

Ronzii's Blog

Just your average geek's blog

Karan Jitendra Thakkar

Everything I think. Everything I do. Right here.

VentureBeat

News About Tech, Money and Innovation

Chetan Solanki

Helpful to u, if u need it.....

ScreenCrush

Explorer of Research in Information Technology

managedCUDA

Explorer of Research in Information Technology

siddheshsathe

A great WordPress.com site

Ari's

This is My Space so Dont Mess With IT !!

Business India 2.0

All about Business Travel 2.0 ideas,technology,ventures and the capital making its happen

Something More for Research

Explorer of Research in Information Technology

WordPress.com News

The latest news on WordPress.com and the WordPress community.

Follow

Get every new post delivered to your Inbox.

Join 2,976 other followers

%d bloggers like this: