Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re: Perl code to a multi-processor slave card: Total mPower 2

by pg (Canon)
on Jan 28, 2003 at 15:53 UTC ( #230625=note: print w/replies, xml ) Need Help??

in reply to Perl code to a multi-processor slave card: Total mPower 2

I worked on the core network system for GPRS (2.5G wireless system) before. We used a similar environment, not the same type of card, but the binary is also compiled and loaded on to card.

I don't really like your idea of directly sharing data among processes, this way of multi-processing has been proved wrong from a structural point of view, and largely reduce the maintainability of your application.

For that GPRS system I worked on, we used both TCP and UDP to communicate between processes, it has been proved that performance was not a problem with TCP and UDP. Also we used stream at any tightly-coupled point (have to check whether your card support any thing similar to Unix stream.)

(I think you made some typo, by saying multi-thread across multi-processors, any way).

As for language, c is usually the best choice for this kind of project.

Writing perl script and then compile into c might shorten the development cycle, but will definitely hurt performance. I would assume anything that runs on card, requires high performance and throughput.

Also I would imagine that all the libraries, if any, you can find are in c.

  • Comment on Re: Perl code to a multi-processor slave card: Total mPower 2

Replies are listed 'Best First'.
Re: Re: Perl code to a multi-processor slave card: Total mPower 2
by JPaul (Hermit) on Jan 28, 2003 at 20:39 UTC
    The software that I'd like to run spits out data manipulations on a single very large data set (Well, alright, in the scale of things 70M isn't that large - but having to use multiple instances of a 70M structure?). Right now it runs in a single process (on a single processor), but I'm hoping to speed the whole mess up by splitting the component parts over processes (and thusly processors, by loading individual process binaries to a processor), but for it to work it would need to act on the same data set in memory.
    Having multiple sets would require they some how stay consistent, and a hell of a lot more memory than that card has on it.

    Communicating via processes using TCP/UDP would work, certainly, and is a good idea. I will investigate this further.
    I'm not sure what you mean by 'We used stream'. Details?

    As for speed; Keep in mind, this is a personal project - something I'm doing for "fun". I'm not so fussed about raw blazing speed, but rather to get it working on a platform somewhat faster than the one it runs on currently (A 200mHz Indy)

    -- Alexander Widdlemouse undid his bellybutton and his bum dropped off --

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://230625]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2023-10-02 22:13 GMT
Find Nodes?
    Voting Booth?

    No recent polls found