Basic Questions...

Hi,

Short version of question:
Does anyone have recommendations for literature (books, web pages,
etc) that discuss how to design and develop RTOS apps from a practical
standpoint?

Long version:
I’ve started looking into development of a high-performance
(gigabit) ip-forwarding/filtering box. I’m coming at this from the
standpoint of having done a lot of application level network
programming, but none at the embedded/RTOS level. I’ve read through the
VxWorks programmer’s guide, I’m getting “PCI System Architecture”, and
I’ve been browsing web pages for a while now. I’ve been mainly focusing
on the compact PCI architecture.
My problem is that I don’t seem to know some of the basics. I can
appreciate the myriad of features on the various cards out there (Znyx
claims to have an ‘embedded linux’ switch card that can drive up to
6.6Gbps with two gigabit interfaces and 24 100Mb interfaces).
However, given all of the choices, I don’t really know how to go
about putting all the pieces together (choosing what’s necessary,
designing, developement). I’d really like to get a more ‘hands on’ feel
for it but I’m not sure how to get started. How do the switch card and
the processing module work together? And even more basic stuff like how
do I download the binary to the card? What pieces are the minimum
necessary? And so on.
Where can I find this basic information?

Any help would be greatly appreciated. Please email me. Thanks.

Steve Chew
schew@interzone.com

The QNX4 or Neutrino books are excellent.

You can buy them.

else you can also print the HTML files on paper to read it, from QNX RtP
documentation
you might need to read it 2 or 3 times for the first part if you don’t have
any knowledge, for example, IPC, VC or OS kind of thing.

I was able in 2-3 weeks of reading to start from no knowledge,
to normal knowledge about using those.

For the hardware, there shall be books on Amazon that you could buy
to help you, I have none in mind, perhaps.

Fred.

Steve Chew wrote in message <39F8B315.C418B38@interzone.com>…

Hi,

Short version of question:
Does anyone have recommendations for literature (books, web pages,
etc) that discuss how to design and develop RTOS apps from a practical
standpoint?

Long version:
I’ve started looking into development of a high-performance
(gigabit) ip-forwarding/filtering box. I’m coming at this from the
standpoint of having done a lot of application level network
programming, but none at the embedded/RTOS level. I’ve read through the
VxWorks programmer’s guide, I’m getting “PCI System Architecture”, and
I’ve been browsing web pages for a while now. I’ve been mainly focusing
on the compact PCI architecture.
My problem is that I don’t seem to know some of the basics. I can
appreciate the myriad of features on the various cards out there (Znyx
claims to have an ‘embedded linux’ switch card that can drive up to
6.6Gbps with two gigabit interfaces and 24 100Mb interfaces).
However, given all of the choices, I don’t really know how to go
about putting all the pieces together (choosing what’s necessary,
designing, developement). I’d really like to get a more ‘hands on’ feel
for it but I’m not sure how to get started. How do the switch card and
the processing module work together? And even more basic stuff like how
do I download the binary to the card? What pieces are the minimum
necessary? And so on.
Where can I find this basic information?

Any help would be greatly appreciated. Please email me. Thanks.

Steve Chew
schew@interzone.com

Previously, Steve Chew wrote in comp.os.vxworks, comp.os.qnx, comp.realtime, comp.os.linux:

Short version of question:
Does anyone have recommendations for literature (books, web pages,
etc) that discuss how to design and develop RTOS apps from a practical
standpoint?

I haven’t seen a book that covers this specific topic. The
3 available books on QNX4 and Neutrino do address these
issues to some degree. You need to understand something
about an OS’s IPC, scheduling algorithms, interrupt
priorities and latencies, and context switch times.
Thereafter, a lot of what you need to figure out is common
sense, ie. The higher priority processes must run at higher
priority.

Long version:
I’ve started looking into development of a high-performance
(gigabit) ip-forwarding/filtering box. I’m coming at this from the
standpoint of having done a lot of application level network
programming, but none at the embedded/RTOS level.

This sounds like an interesting project. My first intuition is
to examine the data throughput. If your input and output is
gigabit, you will need huge amounts of cpu cycles, especially
if your routing and filtering are non-trivial.

My problem is that I don’t seem to know some of the basics. I can
appreciate the myriad of features on the various cards out there (Znyx
claims to have an ‘embedded linux’ switch card that can drive up to
6.6Gbps with two gigabit interfaces and 24 100Mb interfaces).

This sounds like they are doing most of the work on their hardware.
This might solve a some thoughput problems, but I think the question
is whether it is flexible enough for your needs. 6.6Gbps is hard
to imagine. 500Mbyte/sec? A quick memcpy() test on my 650Mhz PIII
shows it simply moving 85Mbyte/sec. How is one cpu going to pull this
off?

Mitchell Schoenbrun --------- maschoen@pobox.com

This sounds like they are doing most of the work on their hardware.
This might solve a some thoughput problems, but I think the question
is whether it is flexible enough for your needs. 6.6Gbps is hard
to imagine. 500Mbyte/sec? A quick memcpy() test on my 650Mhz PIII
shows it simply moving 85Mbyte/sec.

Huh?? There’s got to be something wrong with you test. If seen
faster transfer rate just for Send/Receive/Reply when using big blocks
of 32K. I’v actually seen 300Mbytes/sec, most of the stuff was
sitting in the cache though.

“Steve Chew” <schew@nai.com> wrote in message
news:39F8B315.C418B38@interzone.com

Hi,

Short version of question:
Does anyone have recommendations for literature (books, web pages,
etc) that discuss how to design and develop RTOS apps from a practical
standpoint?

Long version:
I’ve started looking into development of a high-performance
(gigabit) ip-forwarding/filtering box. I’m coming at this from the
standpoint of having done a lot of application level network
programming, but none at the embedded/RTOS level. I’ve read through the
VxWorks programmer’s guide, I’m getting “PCI System Architecture”, and
I’ve been browsing web pages for a while now. I’ve been mainly focusing
on the compact PCI architecture.

A 1 Gigabits networks is starting to get REAL close to the max throughput
of the standard PCI bus. If you want to do ip forwarding/filtering, that
means
most packet will have to go twice on the PCI 32 bit bus . Let’s say
gigabit network gives 70Mbytes seconds, that means your will be using
140Mbytes of bandwidth on the PCI Bus… You will need 64Bits/66Mzh
PCI. Even then 140Mbytes seconds will be required from main memory,
that’s a good percentage of the available memory bandwith. So this
will reduce the efficiency of the CPU…


My problem is that I don’t seem to know some of the basics. I can
appreciate the myriad of features on the various cards out there (Znyx
claims to have an ‘embedded linux’ switch card that can drive up to
6.6Gbps with two gigabit interfaces and 24 100Mb interfaces).

You need dedicated hardware to do this, a standard CPU alone
can’t handle that.

However, given all of the choices, I don’t really know how to go
about putting all the pieces together (choosing what’s necessary,
designing, developement). I’d really like to get a more ‘hands on’ feel
for it but I’m not sure how to get started. How do the switch card and
the processing module work together? And even more basic stuff like how
do I download the binary to the card? What pieces are the minimum
necessary? And so on.
Where can I find this basic information?

Any help would be greatly appreciated. Please email me. Thanks.

Steve Chew
schew@interzone.com

Previously, Mario Charest wrote in comp.os.qnx:

Huh?? There’s got to be something wrong with you test. If seen
faster transfer rate just for Send/Receive/Reply when using big blocks
of 32K. I’v actually seen 300Mbytes/sec, most of the stuff was
sitting in the cache though.

I transfered 1Meg messsages to see memory rather than cache speeds.

\

Mitchell Schoenbrun --------- maschoen@pobox.com

Steve,

Checkout this website for development examples of some realtime
systems.

Sandeep

http://www.eventhelix.com/ThoughtProjects/

In article <39F8B315.C418B38@interzone.com>,
Steve Chew <schew@nai.com> wrote:

Hi,

Short version of question:
Does anyone have recommendations for literature (books, web pages,
etc) that discuss how to design and develop RTOS apps from a practical
standpoint?

Sent via Deja.com http://www.deja.com/
Before you buy.