CrazyEngineers
  • Why DOI go for parallel programming for my application

    spatrickmca

    spatrickmca

    @spatrickmca-NvxYhG
    Updated: Oct 25, 2024
    Views: 1.1K
    Why should I go for parallel programming for my application since I am getting all the services in the current version VS 2005 in the form of Async thread. Please give me enough input on this
    0
    Replies
Howdy guest!
Dear guest, you must be logged-in to participate on CrazyEngineers. We would love to have you as a member of our community. Consider creating an account or login.
Replies
  • spatrickmca

    MemberOct 29, 2010

    Why should I go for parallel programming for my application since I am getting all the services in the current version VS 2005 in the form of Async thread. Please give me enough input on this
    Are you sure? This action cannot be undone.
    Cancel
  • BCA_GIRL

    MemberNov 1, 2010

    As much i concerned...
    Asynchronous calls are used to prevent “blocking” within an application. For instance, if we need to run a query against a database or pull a file from a local disk we want to use an asynchronous call. This call will spin-off in an already existing thread (like an I/O thread) and do its task when it can. Asynchronous calls can occur on the same machine or be used on another machine somewhere else (as a computer in the LAN or a webserver exposing an API on the internet). This is used to keep the user interface from appearing to “freeze” or act unresponsively.
    In parallel programming you still break up work or tasks, but the key differences is that we spin up new threads for each chunk of work and each thread can reach a common variable pool. In most cases parallel programming only takes place on the local machine, and is never sent out to other computers.This is because each call to a parallel task spins up a brand new thread for execution. Parallel programming can also be used to keep an interface snappy and not feel “frozen” when running a challenging task on the CPU.
    Sometimes we think that these sound like the same deal..but in reality they are not in any means.
    As we know With an asynchronous call we have no control over threads or a thread pool and are dependent on the system to handle the requests. With parallel programming we have much more control over the tasks chunks, and can even create a number of threads to be handled by a given number of cores in a processor.
    Are you sure? This action cannot be undone.
    Cancel
  • BCA_GIRL

    MemberNov 1, 2010

    With an asynchronous call we have no control over threads or a thread pool (a theard pool is a collection of threads) and are dependent on the system to handle the requests. With parallel programming we have much more control over the tasks chunks, and can even create a number of threads to be handled by a given number of cores in a processor.As each call to spin up or tear down a thread is very system intensive so we should take extra care into account when creating our programming.
    Let's take an example- If we have array of 1million int values. And we have to make a program for addition to the objects to contain an internal id to the object's array index.And we have told that how the latest buzzword on the street is multi-core processing so for this assignment paraller pattern is the better solution.
    Are you sure? This action cannot be undone.
    Cancel
  • 4M4N

    MemberNov 13, 2010

    On a single processor, multithreading generally occurs by time-division multiplexing (as in multitasking): the processor switches between different threads. This context switching generally happens frequently enough that the user perceives the threads or tasks as running at the same time. On a multiprocessor or multi-core system, the threads or tasks will actually run at the same time, with each processor or core running a particular thread or task.


    Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently ("in parallel"). There are several different forms of parallel computing: bit-level, instruction level, data, and task parallelism.
    Parallel computer programs are more difficult to write than sequential ones,because concurrency introduces several new classes of potential software bugs, of which race conditions are the most common. Communication and synchronization between the different subtasks are typically one of the greatest obstacles to getting good parallel program performance.
    Are you sure? This action cannot be undone.
    Cancel
  • 4M4N

    MemberNov 13, 2010

    On a single processor, multithreading generally occurs by time-division multiplexing (as in multitasking): the processor switches between different threads. This context switching generally happens frequently enough that the user perceives the threads or tasks as running at the same time. On a multiprocessor or multi-core system, the threads or tasks will actually run at the same time, with each processor or core running a particular thread or task.


    Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently ("in parallel"). There are several different forms of parallel computing: bit-level, instruction level, data, and task parallelism.
    Parallel computer programs are more difficult to write than sequential ones,because concurrency introduces several new classes of potential software bugs, of which race conditions are the most common. Communication and synchronization between the different subtasks are typically one of the greatest obstacles to getting good parallel program performance.
    Are you sure? This action cannot be undone.
    Cancel
Home Channels Search Login Register