Multi Thread/processor maze solution

Hi,
I'm working on a assignment to find the shortest solution to a given maze (it has an entrance, exit and walls) using the flooding algorithm (part of the assignment).
Thats fairly straight forward - so no issues there, the problem that I have is that we're told to run the 'same function' on 8 threads and I'm not sure how do gain any sort of effeciency from doing so. What i've done so far is create 8 threads of the below class and simply run each thread - passing each of them the same graph (maze).
class Theflooder implements Runnable{
MyGraph thegraph;
Theflooder(MyGraph a){
thegraph =a;
public void run(){
int last,temp;
last =thegraph.flood();
for(int i =0; ;i++){
temp=thegraph.flood();
if (last == temp) {
break;
last = temp;
the flood() method just carries out the 'flooding' and returns the value of the exit cell, hence the solution is reached when the exit cell value remains the same.
My question is, how could I best split the problem over 8 (and later on, several) threads/processors (using mpijava) bearing in mind some sort of effeciency gain.

I've sorta managed to split up the maze into sections
with each thread working on its own part. The problem
now is what is the terminating condition.Nah, that's a mess; a solution may run through several sections and
you have to figure out the pieces of that puzzle again. Better let all
threads run through the entire maze (or copies thereof) all with a
different strategy (see my reply #1). A 'master' thread registers the
solutions and keeps the shortest one.
Also is there a way in java to get the parent process
to wait for all the child processes to finish?Yep, synchronize on the number of running threads:// somewhere in an object of some class:
int nofRunningThreads;
public void synchronized waitForThem(int n) {
   nofRunningThreads= n;
   try {
      while (nofRunningThreads != 0) wait();
   catch (InterruptedException ie) { ie.printStackTrace(); }
// when a thread finishes it calls this one:
public synchronized void ready() {
   nofRunningThreads--;
   notifyAll();
}kind regards,
Jos

Similar Messages

  • "Inconsistent cursor cache. Out of range cursor" error on dual processor multi thread

    I have a C++ with Pro*C++ COM object running on a Win2000 OS on
    a dual processor Middleware. The program is being called by a
    service in a multi threaded way. An oracle error like ORA-2103
    and SQL-02103 will be generated after running the program. We've
    tried putting mutex on every SQL statement in Pro*C and it works
    but the systems became very very slow. We concluded that the
    error might be cause by a collision of threads accessing the
    same Table or different tables having foreign constraints. This
    is so because the error keeps coming from a statement accessing
    Table A and following errors comes from a Table B having a
    foreign key on Table A.
    Our only solution now is to put Mutex on Statements accessing
    same tables or tables with foreign constraints but this will
    make our system run very very slow. I dont know if the problem
    is in our Oracle Database because we already upgraded our system
    from 8.1.6 to 8.1.7. The wierd thing on this is that the system
    is running smoothly without oracle errors on a SINGLE PROCESSOR
    Middleware. Hope you can give me any insights on this problem.

    I have a C++ with Pro*C++ COM object running on a Win2000 OS on
    a dual processor Middleware. The program is being called by a
    service in a multi threaded way. An oracle error like ORA-2103
    and SQL-02103 will be generated after running the program. We've
    tried putting mutex on every SQL statement in Pro*C and it works
    but the systems became very very slow. We concluded that the
    error might be cause by a collision of threads accessing the
    same Table or different tables having foreign constraints. This
    is so because the error keeps coming from a statement accessing
    Table A and following errors comes from a Table B having a
    foreign key on Table A.
    Our only solution now is to put Mutex on Statements accessing
    same tables or tables with foreign constraints but this will
    make our system run very very slow. I dont know if the problem
    is in our Oracle Database because we already upgraded our system
    from 8.1.6 to 8.1.7. The wierd thing on this is that the system
    is running smoothly without oracle errors on a SINGLE PROCESSOR
    Middleware. Hope you can give me any insights on this problem.

  • "SQL-02103: Inconsistent cursor cache." error on a dual processor multi threaded apps

    I have a C++ with Pro*C++ COM object running on a Win2000 OS on
    a dual processor Middleware. The program is being called by a
    service in a multi threaded way. An oracle error like ORA-2103
    and SQL-02103 will be generated after running the program. We've
    tried putting mutex on every SQL statement in Pro*C and it works
    but the systems became very very slow. We concluded that the
    error might be cause by a collision of threads accessing the
    same Table or different tables having foreign constraints. This
    is so because the error keeps coming from a statement accessing
    Table A and following errors comes from a Table B having a
    foreign key on Table A.
    Our only solution now is to put Mutex on Statements accessing
    same tables or tables with foreign constraints but this will
    make our system run very very slow. I dont know if the problem
    is in our Oracle Database because we already upgraded our system
    from 8.1.6 to 8.1.7. The wierd thing on this is that the system
    is running smoothly without oracle errors on a SINGLE PROCESSOR
    Middleware. Hope you can give me any insights on this problem.

    I have a C++ with Pro*C++ COM object running on a Win2000 OS on
    a dual processor Middleware. The program is being called by a
    service in a multi threaded way. An oracle error like ORA-2103
    and SQL-02103 will be generated after running the program. We've
    tried putting mutex on every SQL statement in Pro*C and it works
    but the systems became very very slow. We concluded that the
    error might be cause by a collision of threads accessing the
    same Table or different tables having foreign constraints. This
    is so because the error keeps coming from a statement accessing
    Table A and following errors comes from a Table B having a
    foreign key on Table A.
    Our only solution now is to put Mutex on Statements accessing
    same tables or tables with foreign constraints but this will
    make our system run very very slow. I dont know if the problem
    is in our Oracle Database because we already upgraded our system
    from 8.1.6 to 8.1.7. The wierd thing on this is that the system
    is running smoothly without oracle errors on a SINGLE PROCESSOR
    Middleware. Hope you can give me any insights on this problem.

  • "SQL-02103 Inconsistent cursor cache." error on dual processor multi threaded system

    I have a C++ with Pro*C++ COM object running on a Win2000 OS on
    a dual processor Middleware. The program is being called by a
    service in a multi threaded way. An oracle error like ORA-2103
    and SQL-02103 will be generated after running the program. We've
    tried putting mutex on every SQL statement in Pro*C and it works
    but the systems became very very slow. We concluded that the
    error might be cause by a collision of threads accessing the
    same Table or different tables having foreign constraints. This
    is so because the error keeps coming from a statement accessing
    Table A and following errors comes from a Table B having a
    foreign key on Table A.
    Our only solution now is to put Mutex on Statements accessing
    same tables or tables with foreign constraints but this will
    make our system run very very slow. I dont know if the problem
    is in our Oracle Database because we already upgraded our system
    from 8.1.6 to 8.1.7. The wierd thing on this is that the system
    is running smoothly without oracle errors on a SINGLE PROCESSOR
    Middleware. Hope you can give me any insights on this problem.

    I have a C++ with Pro*C++ COM object running on a Win2000 OS on
    a dual processor Middleware. The program is being called by a
    service in a multi threaded way. An oracle error like ORA-2103
    and SQL-02103 will be generated after running the program. We've
    tried putting mutex on every SQL statement in Pro*C and it works
    but the systems became very very slow. We concluded that the
    error might be cause by a collision of threads accessing the
    same Table or different tables having foreign constraints. This
    is so because the error keeps coming from a statement accessing
    Table A and following errors comes from a Table B having a
    foreign key on Table A.
    Our only solution now is to put Mutex on Statements accessing
    same tables or tables with foreign constraints but this will
    make our system run very very slow. I dont know if the problem
    is in our Oracle Database because we already upgraded our system
    from 8.1.6 to 8.1.7. The wierd thing on this is that the system
    is running smoothly without oracle errors on a SINGLE PROCESSOR
    Middleware. Hope you can give me any insights on this problem.

  • "SQL-02103: Inconsistent cursor cache." error on dual processor multi thread apps

    I have a C++ with Pro*C++ COM object running on a Win2000 OS on
    a dual processor Middleware. The program is being called by a
    service in a multi threaded way. An oracle error like ORA-2103
    and SQL-02103 will be generated after running the program. We've
    tried putting mutex on every SQL statement in Pro*C and it works
    but the systems became very very slow. We concluded that the
    error might be cause by a collision of threads accessing the
    same Table or different tables having foreign constraints. This
    is so because the error keeps coming from a statement accessing
    Table A and following errors comes from a Table B having a
    foreign key on Table A.
    Our only solution now is to put Mutex on Statements accessing
    same tables or tables with foreign constraints but this will
    make our system run very very slow. I dont know if the problem
    is in our Oracle Database because we already upgraded our system
    from 8.1.6 to 8.1.7. The wierd thing on this is that the system
    is running smoothly without oracle errors on a SINGLE PROCESSOR
    Middleware. Hope you can give me any insights on this problem.

    I have a C++ with Pro*C++ COM object running on a Win2000 OS on
    a dual processor Middleware. The program is being called by a
    service in a multi threaded way. An oracle error like ORA-2103
    and SQL-02103 will be generated after running the program. We've
    tried putting mutex on every SQL statement in Pro*C and it works
    but the systems became very very slow. We concluded that the
    error might be cause by a collision of threads accessing the
    same Table or different tables having foreign constraints. This
    is so because the error keeps coming from a statement accessing
    Table A and following errors comes from a Table B having a
    foreign key on Table A.
    Our only solution now is to put Mutex on Statements accessing
    same tables or tables with foreign constraints but this will
    make our system run very very slow. I dont know if the problem
    is in our Oracle Database because we already upgraded our system
    from 8.1.6 to 8.1.7. The wierd thing on this is that the system
    is running smoothly without oracle errors on a SINGLE PROCESSOR
    Middleware. Hope you can give me any insights on this problem.

  • Multi-threads will run better on multi-Processores environment?

    Are there any proof to say that Multi-threads will run better on multi-Processores environment?
    Will Java run better on multi-Processores environment? Are there any proof?
    Thank in advance

    Are there any proof?The proof is in the pudding, so to speak. The best thing to do is to benchmark your application on single and multi-processor machines.
    It should be noted that there are reports of threading problems with Java on multi-processor machines. I haven't seen the problems myself, nor do I remember the exact problems people were seeing (and on what OS/Hardware) but if you search these forums you should be able to find out the details.

  • Java multi-thread Applet and Multi-processor

    Hello,
    I have a JAVA applet which work fine on a mono-processeur machine and not fine at all on multi-processors.
    It use multi thread (for reading on socket) and some times, request are lost.
    Is that a matter of programming or a JVM bug ?
    This happens on Linux and Windows NT bi-processors.
    We hare using JAVA 1.3.0_02
    Thanks for your help
    [email protected]

    I have already have a look to javax.swing.SwingUtilities.invokeLater() but (I think) it don't work for my need.
    A graphic applet which create 2 threads : one for reading and one for writing on a socket.
    Request sent to the server are memorized in a vector, and once answer is received, the request is remove from vector and treated. Access to the list is protected by synchronize.
    Everything works fine one several plateforme (linux, windows 98/2000/NT, Solaris). The only problem is on multi-processor : request are lost !

  • Public static Thread currentThread() and multi core processors??

    Hello,
    I have the following basic question: what does public static Thread currentThread() mean in the context of multi core processors where several threads may execute concurrently?
    Any clue welcome,
    J.

    Hi balteo,
    When you invoke Thread.currentThread(), you get the reference of the current thread : the thread where you make the call.
    Just try :
    System.out.println("My program is running thread : " + Thread.currentThread().getName());
    mean in the context of multi core processors where several threads may execute concurrently?Several threads may run concurrently with single core processors. The number of concurrent threads you may execute depends of the processors architecture and the OS.

  • Multi-thread failure - Error in assignment

    Hello
    I have a c++ program processor running under Windows XP with Oracle 9i. My program access to oracle by an ODBC driver version 9.2.0.4.0. It could be launched in multi-thread to increase performance. When I launch it with one thread everything is fine. When I use several threads I have problems. ODBC driver returns to me a "error in assignment ... General error" message and my updates queries failed. Under SQl server it works without problems. It seems to be a kind of deadlock. When I disable check box in my odbc driver of "enable query timeout" my program encounter a problem and freezes...
    Could someone help me ?

    user13335017 wrote:
    I have thought of the above solutions as workable, however, it is not. Some exhibited errors are:
    A. "Attempt to use database while environment is closed." This error applies to 2, 3 and 4 all the way;
    B. "Attempt to read / write database while database is closed." This error applies to 3 in particular;
    C. "Attempt to close environment while some database is still open." This error applies to 5.
    Please help me with designing a better strategy to solve the concurrent issue. Many thanks in advance.All these are expected errors. You should design the application so that you do not close an environment handle while database handles are still open, keep database handles open for as long as operations need to be performed on the underlying databases, open the database handles after opening the database handles, and close database handles before closing the environment handle.
    In short, in pseudo-code, you should have something like this:
    - open environment handle,
    - open database handles,
    - perform whatever operations are needed on the databases,
    - close database handles,
    - close environment handle.
    You can refer to the Getting Started with Data Storage and the Getting Started with Transaction Processing guides appropriate for the API you are using, from the Berkeley DB documentation page.
    Regards,
    Andrei

  • Aperture multi-threaded?

    Does anyone know if the upcoming new program Aperture will be multi-threaded to take advantage of the dual and dual-core processors?
    Keith

    quote from Joe Schorr, product manager on Aperture
    'Aperture is the first Apple program that actually uses Apple's Core image technology. Core data is an OS-level database structure. It drives Aperture. It takes advantage of ColorSync and multiprocessors. It makes extensive use of the graphics card.
    It's a uniquely Mac solution.'
    interview at http://www.creativepro.com/story/feature/23554.html?cprose=daily

  • Multi Threading in EJB by sending requests to JDBC or JMS queue

    Hi,
    I know that multi-threading is not permitted on EJB, but I'm planning an application which has to send a copule of requests to another system in parallel. So the EJB should be talking to any number of other systems at one time.
    In an application I would simply create some threads, and that's it. With EJB this is not possible, so I've come up with the following idea:
    A Queuing system will be implemented. This can be a simple table in a database or a message bean (JMS-Java Message Service). In both cases request objects have to be serialized into byte streams and stored as a Binary Object (e.g. Oracle BLOB) in the database or attach somehow to the JMS message.
    Some sort of queue processor looks at the queue, deserializes the requests, does something and sends back a response (again by serialization and through db or jms).
    Technically the db solution should work, I've been doing ths (de)serialization of java objects into an oracle blob, and it works. Creating a process which scans a database should also work, and with timestamps I can implement a queue.
    With JMS I'm not that sure, mainly because I'm not familiar with it :-). But as far as I know some JMS vendors (I do not remember who) are using database for messaging anyway.
    Any comments ?
    Thanks

    As I understand JMS, the database is used for persistence of messages before they are acknowledged.
    If persistence is turned on, once a message arrives on the queue, the message object is serialized and stored in the database with an appropriate primary key.
    When the consumer calls the receive() method the Message Object is sent to the consumer, when this acknowledged the corresponding entry is removed from the database.

  • How to write a multi threaded Cache Event Listener

    I have a distributed data cache called tokenCache for my application. I have also added a mapListener to this cache to listen to a particular kind of events.
    tokenCache.addMapListener((MapListener) new TokenCacheListenerBean(), new MapEventFilter(tokenFilter), false);
    So bascially everytime a token (The domain object of this cache) is updated the entryUpdated() method in my EJB TokenCacheListenerBean is invoked.
    The issue I have though is that, from what I observe on running my code is that the Cache Listener is single threaded. So if two Token Objects on my tokenCache are updated,
    lets say Token Object A and Token Object B one after the other,  the entryUpdated() method in my EJB is invoked for Token Object A and  once the invocation is complete
    then the entryUpdated() method is invoked again for Token Object B(). At a given point of time there is only one instance of TokenCacheListenerBean EJB.  Is there a way to
    make this happen in multi-threaded manner ?
    Is there a configuration setting somewhere which allows multiple CacheListeners to be instantiated at a given point of time ?
    TokenCacheListenerBean  EJB_
    package oracle.communications.activation.asap.ace;
    import java.util.Iterator;
    import java.util.Set;
    import java.util.logging.Logger;
    import javax.ejb.Stateless;
    import com.tangosol.net.NamedCache;
    import com.tangosol.util.MapEvent;
    import com.tangosol.util.MapListener;
    import com.tangosol.util.ValueUpdater;
    import com.tangosol.util.extractor.PofExtractor;
    import com.tangosol.util.extractor.PofUpdater;
    import com.tangosol.util.filter.EqualsFilter;
    import com.tangosol.util.filter.LikeFilter;
    import com.tangosol.util.filter.LimitFilter;
    import com.tangosol.util.processor.UpdaterProcessor;
    * Session Bean implementation class TokenCacheListenerBean
    @Stateless
    public class TokenCacheListenerBean implements TokenCacheListenerBeanRemote, TokenCacheListenerBeanLocal, MapListener {
    NamedCache asdlCache;
    NamedCache tokenCache;
    private final int PAGE_SIZE = 1;
    private static Logger logger = Logger.getLogger(ConnectionManager.class.getName());;
    * An instance of the JCAModeler EJB, represents the JCA-JNEP
    JCAModeler jcaBean;
    * Default constructor.
    public TokenCacheListenerBean() {
    // TODO Auto-generated constructor stub
    public void entryDeleted(MapEvent Event) {
    public void entryInserted(MapEvent Event) {
    public void entryUpdated(MapEvent Event) {
    Token newToken = (Token) Event.getNewValue();
    Token oldToken = (Token) Event.getOldValue();
    if ((oldToken.getState() == Token.TOKEN_RESERVED)
    && (newToken.getState()== Token.TOKEN_AVAILABLE)) {
    String networkID = newToken.getNeID();
    asdlCache = AceCacheFactory.getCache("asdlCache");
    tokenCache = AceCacheFactory.getCache("tokenCache");
    EqualsFilter filterNE = new EqualsFilter(new PofExtractor(String.class,Asdl.NETWORKID), networkID);
    LimitFilter limitFilter = new LimitFilter(filterNE, PAGE_SIZE);
    Set removeASDL = asdlCache.keySet(limitFilter);
    Iterator asdlIterator = removeASDL.iterator();
    if (asdlIterator.hasNext()) {
    logger.info(printASDLCache());
    ValueUpdater updater = new PofUpdater(Token.STATE);
    System.out.println("Token ID:" + newToken.getTokenID());
    UpdaterProcessor updaterProcessor = new UpdaterProcessor(updater, Integer.toString(Token.TOKEN_RESERVED));
    tokenCache.invoke(newToken.getTokenID(), updaterProcessor);
    jcaBean = new JCAModeler(tokenCache);
    Object asdlID = asdlIterator.next();
    Asdl provisionAsdl = (Asdl) asdlCache.get(asdlID);
    asdlCache.remove(asdlID);
    jcaBean.provision(provisionAsdl, newToken.getTokenID());
    logger.info(ConnectionManager.printTokenCache());
    logger.info(printASDLCache());
    }

    Here is what I am asking!
    I have added 2 listeners (Listener A and Listener B) which each listen on for changes made to 2 different token Cache Objects (Token A and Token B).
    for (i = 0; i < 2 ; i++) {
    Token tokenAdded = new Token(UUID.randomUUID().toString(),TOKEN_AVAILABLE, networkID);
    tokenCache.put(tokenAdded.getTokenID(), tokenAdded);
         tokenCache.addMapListener((MapListener) new TokenCacheListener(), tokenAdded.getTokenID(), false);
    Now assume that updates are made to Token A and Token B simuntaneosly.
    Why do i observe in my diagnostic messages that only one Listener is invoked at a given point of time.
    Which means I see Listener A getting invoked and then once invocation of Listener A is complete I see Listener B bieng invoked.
    Ideally I would want both listeners to be invoked simultaneously rather than in a one off fashion.
    Here is the code for my token cache Listener
    package oracle.communications.activation.asap.ace;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import com.tangosol.net.CacheFactory;
    import com.tangosol.net.NamedCache;
    import com.tangosol.util.AbstractMapListener;
    import com.tangosol.util.Filter;
    import com.tangosol.util.MapEvent;
    import com.tangosol.util.MapListener;
    import com.tangosol.util.ObservableMap;
    import com.tangosol.util.ValueUpdater;
    import com.tangosol.util.extractor.PofExtractor;
    import com.tangosol.util.extractor.PofUpdater;
    import com.tangosol.util.filter.AndFilter;
    import com.tangosol.util.filter.EqualsFilter;
    import com.tangosol.util.filter.LikeFilter;
    import com.tangosol.util.filter.LimitFilter;
    import com.tangosol.util.processor.UpdaterProcessor;
    public class TokenCacheListener extends AbstractMapListener {
         NamedCache asdlCache;
         NamedCache tokenCache;
         AceCacheFactory cacheFactoryBean = new AceCacheFactory();
         private final int PAGE_SIZE = 1;
         private static Logger logger = Logger.getLogger(ConnectionManager.class
                   .getName());;
         * An instance of the JCAModeler EJB, represents the JCA-JNEP
         JCAModeler jcaBean;
         * This is a utility method and prints the tokens cache.
         public String printTokenCache() {
              NamedCache tokenCache = cacheFactoryBean.getCache("tokenCache");
              LikeFilter tokenList = new LikeFilter(new PofExtractor(String.class,
                        Token.STATE), "%", (char) 0, false);
              Set keySet = tokenCache.keySet(tokenList);
              StringBuffer cachedTokenList = new StringBuffer("\n################################## Token(s) Cache ##################################");
              int counter = 1;
              for (Object tokenInCache: keySet) {
                   Token tokenObject = (Token) tokenCache.get(tokenInCache.toString());
                   cachedTokenList.append("\nS.NO:" + (counter++)
                             + "\t ID:" + tokenInCache.toString()
                             + "\t State:" + Token.tokenToString(tokenObject.getState()));
              cachedTokenList.append("\n####################################################################################");
              return cachedTokenList.toString();     
         * This method is a utility method and it prints all the ASDL(s) currently present on the
         * asdlCache.
         private String printASDLCache() {
              NamedCache asdlCache = cacheFactoryBean.getCache("asdlCache");
              LikeFilter asdlList = new LikeFilter(new PofExtractor(String.class,
                                  Asdl.NETWORKID), "%", (char) 0, false);
              Set keySet = asdlCache.keySet(asdlList);
              StringBuffer cachedASDLList = new StringBuffer("\n################ ASDL Cache ######## ########");
              int counter = 1;
              for (Object asdlInCache: keySet) {
                   cachedASDLList.append("\nS.NO:" + (counter++) + "\t ID:" + asdlInCache.toString());
              cachedASDLList.append("\n################ ASDL Cache ######## ########\n");
              return cachedASDLList.toString();     
         public TokenCacheListener() {
         public void checkASDLCache(MapEvent Event) {
         // Not currently used
         public void entryUpdated(MapEvent Event) {
              Token newToken = (Token) Event.getNewValue();
              Token oldToken = (Token) Event.getOldValue();
              logger.info("\n=============================================================================================="
                        + "\nTOKEN CACHE LISTENER"
                        + "\n=============================================================================================="
                        + printTokenCache()
                        + "\n==============================================================================================");
              if ((oldToken.getState() == Token.TOKEN_RESERVED)
                        && (newToken.getState()== Token.TOKEN_AVAILABLE)) {
              String networkID = newToken.getNeID();
              asdlCache = cacheFactoryBean.getCache("asdlCache");
              tokenCache = cacheFactoryBean.getCache("tokenCache");
              EqualsFilter filterNE = new EqualsFilter(new PofExtractor(String.class,Asdl.NETWORKID), networkID);
              LimitFilter limitFilter = new LimitFilter(filterNE, PAGE_SIZE);
              Set removeASDL = asdlCache.keySet(limitFilter);
              Iterator asdlIterator = removeASDL.iterator();
              if (asdlIterator.hasNext()) {
              logger.info(printASDLCache());
              ValueUpdater updater = new PofUpdater(Token.STATE);
              System.out.println("Token ID:" + newToken.getTokenID());
              UpdaterProcessor updaterProcessor = new UpdaterProcessor(updater, Integer.toString(Token.TOKEN_RESERVED));
              tokenCache.invoke(newToken.getTokenID(), updaterProcessor);
              jcaBean = new JCAModeler(tokenCache);
              Object asdlID = asdlIterator.next();
              Asdl provisionAsdl = (Asdl) asdlCache.get(asdlID);
              asdlCache.remove(asdlID);
              jcaBean.provision(provisionAsdl, newToken.getTokenID());
              logger.info(printTokenCache());
              logger.info(printASDLCache());
    I only see one instance of this listener alive at any given point of time.
    Edited by: 807103 on Nov 3, 2011 1:00 PM
    Edited by: 807103 on Nov 3, 2011 1:12 PM

  • Acrobat 9 Pro Extended Distiller - Multi-threaded?

    I am using distiller on some fairly large postscript files (also large numbers of small postscript files) and am running into what appears to be machine limitations. I'm running on a 32 bit workstation with 3gb RAM and an intel core duo CPU. Looking at the perf monitor, my processes are not RAM limited and I never seem to get the CPU use above 50% which indicates to me that distiller may not be multi-threaded. Is that the case? If so, is there a way to get distiller to use both CPUs? (or all 4 on a quad core)

    I am also facing the same issue. Although you can run multiple instances of Distiller using switch "N"
    acrodist.exe -N
    But don't know how to distribute the watchedFolders among them.
    Even though you can specify the Watch Folders once the instances are up and running.. but in case if you close the instances and start them again.. only one instance will have all the watched folders with it.
    So don't know the solution to this, anyone pls help
    Thanks in Advance
    Naveen Sharma

  • Multi threading under single file channel

    Hi,
      We have File-Proxy scenario .
    We are using fCC sender channel and using
    recordset sequence as varaibale
    recordsets per message was 250.
    When large size file like 2GB was processed, PI is taking 45-50 min to process the file and from proxy end its taking 8 hrs to process this file.
    we are using one channel and 250 recordsets per message by chunking file and process to target. We are following EOIO for sequence for these chunk files.
    with this approach in PI target system proxy is taking huge time to process.
    experts suggested using multi threading and multiple channels are the ideal solution for this issue.
    am expecting with multiple channels and multi threading  will cause issue for receiver proxy  because of more objects and current approach is fine.
    Please suggest any other alternatives we can acheive in PI with respect to this issue?
    Note: I checked blog for file chunk option under Adv parameters and I cant use that here as FCC and Mapping is there .
    Rgds,
    aman

    Hi Aman,
    We had file to proxy interface and the XML payload of the proxy was around 400mb...to reduce the time taken in PI in mapping step we reduced the XML payload of the proxy by cutting the XML tagnames.
    for example an xml field <firstname>Anand</firstname> was converted to <f>Anand</f>
    with this we were able to achieve about 40-50% reduction in XML payload the file and a good improvement in the time taken by PI mapping to process the file.
    Hope it helps,
    Thanks,
    Anand

  • Multi-threading in Flash Builder 4.6

    Hello All,
    I am a new user of Flex and Flash Builder 4.6.
    Is there any built-in mechanism that allows to implement multi-threading in Flex/Flash Builder 4.6?
    I have done a little research via the Internet regarding this issue, and I understand that there are ways to implement multi-threading, but I am interested in a built in mechanism.
    Thanks in advance,
    Felix.
    P.S. Some links regarding this issue:
    http://cookbooks.adobe.com/post_Is_multi_threading_possible_in_Flash_or_ActionScri-12026.h tml
    http://www.flexjunk.com/2009/01/15/multi-threading-in-flexair/
    http://blogs.infosupport.com/flex-4-a-multi-threading-solution/

    Wokrers has been just announced today:
    http://www.bytearray.org/?p=3705
    Be patient around 3 more months and it will be out of the box.
    C

Maybe you are looking for

  • How do I create an alternate edit, you know, like a Save AS

    I want to create a second version of my video. This one will be a much shorter version wioth quicker cuts. Do I need to start all over again or can create a duplicate of my project then modify that version? Thanks to anyone who can render assiste

  • Premiere Pro CS6 Extreme Lag / Choppiness In Playback Please Help

    I have a brand new Windows 8.1 Desktop 1 GB Video Card AMD Radeon 7700 16 GB Ram 3.4 Ghz i7-3770 CPU Scratch Disk on an external drive that spins at 7200 RPM I'm coming from a Macbook Pro (with less specs then the current desktop I'm using) in which

  • Splitting of idoc

    *Please do let me know how to create customize process code and splitting of idoc in edi???*

  • Importing a 3d object problem

    Hi , when i import a 3d layered psd file in AE ,it import it as a 2d layer, i`ve read the forum , and i make everything what i`ve seen.I`m using photoshop and AE CS4 my video card is Ati Radeon HD 2400 with the latest drivers installed , and in AE in

  • CrystalReportViewer Toolbar

    Crystal report viewer Page navigation buttons issue <CR:CrystalReportViewer ID="uxViewer" runat="server" HasExportButton="False"  HasPrintButton="True"               EnableDatabaseLogonPrompt="false" EnableParameterPrompt="false" HasCrystalLogo="Fals