Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!



The Quiet Revolution of Formula E Electric Car Racing

raxx7 Re:Quiet? (116 comments)

You can actually do some fun things with it

about two weeks ago

The IPv4 Internet Hiccups

raxx7 Re:IPv6 won't fix this problem (248 comments)

While BGP routers need to know route for every prefix, they can then can compress the routing table, by merging prefixes which have the same routing.
The problem is that the IPv4 address space is too fragmented to allow much compression.

IPv6 address allocations should allow for less fragmentation and better compression.

about a month ago

Linux Needs Resource Management For Complex Workloads

raxx7 Re:complex application example (161 comments)

Interesting. I sounds a bit like an application I have.
Like yours, it involves UDP and Python.
I have 150.000 "jobs" per second arriving in UDP packets. "Job" data can be between 10 and 1400 bytes and as many "jobs" are packed into each UDP packet as possible.

I use Python because, intermixed with the high performance job processing, I also mix slow but complex control sequences (and I'd rather cut my wrists than move all that to C/C++).
But to achieve good performance, I had to reduce Python's contribution to the critical path as much as possible and offload to C++.

My architecture has 3 processes, which communicate through shared memory and FIFOs.
The shared memory is divided into fixed size blocks, each big enough to contain the information for a maximum size jobs.

Processs A is C++ and has two threads.
Thread A1 receives the UDP packets, decodes the contents, writes the decoded job into a shared memory block and stores the block index number into a queue.
Thread A2 handles communication with process B. This communication consists mainly of sending process B block index numbers (telling B where to get job data) and receiving block index numbers back from process B (telling A that the block can be re-used).

Process B is a single threaded Python.
When in the critical loop, it's main job is to forward block index numbers from process A to process C and from process C back to process A.
(It also does some status checks and control functions, which is why it's in the middle).
In order to keep the overhead low, the block index numbers are passed in batches of 128 to 1024 (each block index number corresponding to a job).

Process C is, again, multi-threaded C++.
The main thread takes the data from the shared memory, returns the block index numbers to process B and pushes the jobs through a sequence of processing modules, in batches of many jobs.
Withing each processing module, the module hands out the batch of jobs to a thread pool and back, while preserving the order.

about 2 months ago

BMW, Mazda Keen To Meet With Tesla About Charging Technology

raxx7 Re:And again... (137 comments)

It's actually pretty natural.
Usually, standards aren't created in a void. Before a standard can be written and agreed, someone has two design, test, maybe deploy real stuff.
More often than not, different teams will explore different avenues of research. And once they have invested, nobody wants to throw away their work and move to someone else's spec.
On the other hand, this often takes multiple iterations to reach a good standard

If you look at it...
CHADEMO has been around since 2010 and for a while, it was the only real solution.
But Tesla didn't like it, probably because of licensing terms, bulkiness and limited power (62.5 kW max), so they created their own for the Model S.
Other manufacturers and other players did not like it, for similar reasons. And Tesla's solution was proprietary.
So they went ahead and created yet another standard.

Finally, Tesla has decided to play nice.

about 3 months ago

BMW, Mazda Keen To Meet With Tesla About Charging Technology

raxx7 Re:nissan or mazda? (137 comments)

Model S' battery has both more capacity and the ability to supply and absorb more power.

I think for a given technology, battery capacity and power (both in and out) tend to be related.

about 3 months ago

Microsoft Runs Out of US Address Space For Azure, Taps Its Global IPv4 Stock

raxx7 Re:No more private networks? (250 comments)

By assign, I mean giving them an address.
Whether it's by static configuration, stateless auto-configuration or DHCP.

about 3 months ago

Microsoft Runs Out of US Address Space For Azure, Taps Its Global IPv4 Stock

raxx7 Re:No more private networks? (250 comments)

Yes and no.

Yes, you'll need to assign every one of your machines an address which is based on the prefix assigned to you by your ISP.
In the absence of NAT66, your computers will need these addresses to access the internet.

No, you can additionally assign your machines an address based on a unique local address prefix.
You should to use a randomly generated ULA prefix to avoid future conflicts (eg, you need to establish a VPN to another network also using ULA).
But otherwise, it's legal to use a trivial prefix (FD00:whatever).

about 3 months ago

Are the Glory Days of Analog Engineering Over?

raxx7 Changing skill sets (236 comments)

As usual, an interesting article with a terrible Slashdot title, overplaying the aspect of analog vs digital.

In fact, it's a lot more a matter of discrete vs integrated.

Decades ago, people designed and built digital logic, entire digital computers even, based on discrete (individual) valves or transistors.
Then, we moved to designing them based on many small integrated circuits which performed simple logic functions, like the 7400 series TTL circuits.
And then we moved to highly integrated digital circuits.
I've used micro-processors, field programmable gate arrays and even designed custom ASICs. But outside school, I never used a 7400 chip, much less design an AND gate based on discrete BJT transistors.
It's all digital, but it's different skill sets.

A similar change of skills happens for analog designers.
Some things that 20 years ago were done by a circuit on a board using discrete transistors are now done inside an integrated circuit.
Again, it's all analog but it's different skill sets.
(Some others, have moved from fully analog to mixed signal, digitizing analog signals and then processing them digitally).

Analog skills are still much needed.
Nowadays, the highly integrated digital circuits communicate between themselves at multi-gigabit speeds and our board designs face issues that, 20 years ago, were a concern only for RF analog engineers

But the needed analog skills are changing.
For example, when designing integrated circuits, it's increasingly necessary to be aware of the physical issues that happen at the sub-micron scale.
Being able to design a RF amplifier based on discrete HBT does not necessarily prepare you do design one in a sub-micron integrated circuit.

about 3 months ago

Red Hat Enterprise Linux 7 Released

raxx7 Re:Is this still a good OS for desktop? (231 comments)

Not any more than ext4.

ext3 was an odd ball. It defaulted to a behavior where creating a file, writing into it and then renaming over into another file would _guarantee_ that after a crash you'd either get the old file or the new file.
XFS (and AFAIK all the other Linux journaled file systems) implemented did not provide such guarantees unless the application used an fsync/fdatasync before the rename.

However, since a) ext3 was popular and b) fsync could be pathologically slow on ext3, many applications became reliant on ext3's behaviour.
The net result was that, for other filesystems, after a crash users would be faced with files full of zeros.
It became a widespread problem when ext4 became the default, as it used much of the same policy of XFS.

Meanwhile, this has mostly been fixed.
Partially, because ext4's widespread usage, applications began to use fsync properly again.
Partially, XFS and ext4 developers patched the filesystem to, under some circumstances, emulate ext3's behavior.

about 3 months ago

Musk Will Open Up Tesla Supercharger Patents To Spur Development

raxx7 DC charging standards (230 comments)

There are three competing DC charging standards in North America:
- The widely deployed Chademo (= 62.5 kW), backed by Japanese automakers mostly
- The upcoming, not yet deployed, CCS (= 90 kW), backed by SAE, a large number of western automakers and, increasingly, by
- Tesla's Supercharger ( = 120 kW?), which is used only by Tesla.

This is, of course, a f**king mess, which could undermine the efforts to build comprehensive charging networks.
However, it's a manageable mess.
While high power DC charging stations are expensive, having them support multiple standards adds little to the cost (5% per standard or less).
The competition between Chademo and SAE CCS looks like it will be resolved this way: AFAIK, pretty much any new DC charging station deployments looks to be dual standard.

Tesla was basically being left out. While they have built a very interesting network and they have a superior specification, they can't expect to cover all of North America with their own charging stations, while the rest of the world is using combined Chademo/CCS station.

Opening up their specification is a necessary step for them to play along with the rest of the world.

about 3 months ago

B-52 Gets First Full IT Upgrade Since 1961

raxx7 Re:Missles and drones have to be cheaper than a B- (190 comments)

Bombs, even precision GPS or laser guided ones, are much cheaper than missiles. And a B-52 can carry a lot of them.
As a platform for loitering around an area and dropping precision weapons as requested, it should be the most cost effective platform USAF has.
And the option of carpet bombing is occasionally useful too.

about 4 months ago

Why Scientists Are Still Using FORTRAN in 2014

raxx7 Re:not in the field, eh? (634 comments)

First, my comment wasn't generally about whether C or Fortran is better.
I just just illustrating that C's aliasing isn't as much as an obstacle for vectorization as it's often said (and I probably said so in the past, so I'm also guilty).
In general, Fortran arrays and slicing map to pretty trivial C code. Most people can write decent stuff for that. Getting it to vectorize isn't hard.

Secondly, AFAIK, arrays and array slices in Fortran need to be used with a bit of care.
In some situations it can lead the compiler to copy the data into a temporary array (eg, passing a slice as a function parameter).
Another issue is that in a array with 2 or more coordinates, only one coordinate has a memory layout suitable for vectorization in a CPU without scatter/gather (which you may want to avoid anyway if seeking ultimate performance).
Dealing with this issues requires a good understanding of these issues, the language and the compiler's modus operandis.
Fundamentally, arrays in any language are trivial when at the microscopic language but choosing the right strategy for the full program can be a challenge in any language.

Third, having spent more time that I'd like trying to hammer into a few scientists that you need to avoid loops and use array operations to get good performance out of MATLAB®, I would say that some scientists' brains are better suited to hand writing loops than array manipulation.

about 4 months ago

Why Scientists Are Still Using FORTRAN in 2014

raxx7 Re:not in the field, eh? (634 comments)

stupid me... forgot the tags

void f(int n, float *a, float *b, float *z)
        int i;
        for(i = 0; i &lt n; i++)
                z[i] = a[i]+b[i];

about 4 months ago

Why Scientists Are Still Using FORTRAN in 2014

raxx7 Re:not in the field, eh? (634 comments)

I suspect Fortran makes it easier for compiler writers, but for the compiler user the difference is tiny.
Both GCC and ICC can vectorize the following piece of code, by generating code with a run-time check for aliasing and two paths: a vectorized path and a scalar path.

This code is pretty trivial, but I think the method is valid for most(all?) possible uses of Fortran arrays.

In my experience, with a bit of care in code writing (and reading the compiler's vectorization reports), ICC can vectorize pretty complex, but readable, standard and portable, loops.

void f(int n, float *a, float *b, float *z)
        int i;
        for(i = 0; i

about 4 months ago

Why Scientists Are Still Using FORTRAN in 2014

raxx7 Re:yes really (634 comments)

ATLAS is mostly written in C with a ton of compiler SIMD intrinsics.
It provides a Fortran BLAS and partial LAPACK interface, along with a C BLAS interface.

As you said, YMMV.
From your description, it seems that in your field you spent most of your CPU time performing a relatively small number of large and time consuming operations on matrices. This can be efficiently handled by an interpreted language (Python, MATLAB, etc) with an efficient underlying implementation of matrix operations.
Some of those implementations have a very long history and they're written in Fortran, with C interfaces available (which is how they're built into Python and Matlab).
And there isn't any kind of pressing need to re-write them into C or whatever.

Other areas have different profiles.
Particle physics is completely different. Most of the CPU time is spend a very large number of tiny operations, comparisons and branching.
Such code needs to be written in a compiled language, like Fortran or C/C++.
And the choice nowadays for new code is, by far, C/C++. They even rewrote their main simulation package (GEANT) from Fortran to C++. I think they really felt the need of OOP to handle complex models.

More generally, most _new_ critical loop parts are written in C/C++, albeit with the possible usage of old Fortran libraries in the cases they exist.
And non critical loop parts are often written in Python or etc.

about 4 months ago

Ask Slashdot: Practical Alternatives To Systemd?

raxx7 Re: How does it affect me? (533 comments)

The Linux Bluetooth stack lives outside the kernel. Bluetooth audio devices are not accessible as OSS or ALSA hardware devices.
There is an alsalib plugin that lets alsa applications talk to Bluetooth audio, but it's got a number of limitations.

PulseAudio provides transparent, robust, behavior for both OSS/ALSA hardware devices and Bluetooth devices (as long as network).

about 4 months ago

AMD Develops New Linux Open-Source Driver Model

raxx7 Re:Same'ol firmware separated from kernel module a (142 comments)

Not sure what you're thinking..

A Linux graphics card driver has 3 components: the kernel module, the X module and the libGL/CL/etc implementation.
There are two AMD driver for Linux -- the proprietary one and the open source one, each with it's own 3 components.

The proprietary one offers better OpenGL/OpenCL performance and features (eg, OpenGL 4.4 instead of 3.1), as well as official certification for a number of applications.
But it also tends to suffer from system integration issues, at the kernel and X level. Sometimes, they work poorly for basic things, they don't work with the latest kernel or X for a while, etc.

So, what looks here is that AMD wants to reduce the proprietary to the libGL/CL component and leverage on the open source for the kernel driver. Maybe X driver too, eventually.

about 6 months ago

Walmart Unveils Turbine-Powered WAVE Concept Truck

raxx7 Re:Not going to happen... (242 comments)

Yes, trains are diesel-electric.
However, it's not done for fuel efficiency; it's done for reliability.
Mechanical transmissions, like those used in cars and trucks, are too complicated and fragile at the levels of power and torque of a locomotive.
Even hydraulic transmissions are hard to get right at these power levels (pretty much only Voith managed to).

So, in the end, locomotives in general use diesel-electric. You do find a lot of diesel rail cars with hydraulic and even some mechanical.

In rail, specially on american freight rail, reliability trumps fuel efficiency by a long shot.
The diesel engines used in american freight locomotives are much less fuel efficient than most other industrial diesel engines of comparable power.
The operators would rather leave them running on idle for days than shutting them down on cold weather or fitting an APU.
They are, however, cheap to build, cheap to maintain and very reliable.,

about 6 months ago

Ubuntu To Switch To systemd

raxx7 Re:like conceeding that air is necessary (279 comments)

Users rightfully do not care about what init system they use, as long as it works.
But making it work requires time and effort from some people. And we don't live in a world of infinite resources.

By announcing they're switching Ubuntu from Upstart to systemd, Ubuntu aligned themselves with the majority of the developer comunity and Ubuntu reduced the ammount of effort they and others developers have to put in to make it work efficiently as you said.
Ubuntu will not have to write and debug Upstart configuration files for services, they can just the share the same systemd files as Debian.
GUbuntu and KUbuntu developers will have less trouble to make Gnome Shell and KWin, which are moving towards somewhat depending on systemd, work on a Ubuntu derived distribution.

And that means they can actually spend time fixing other stuff.

about 7 months ago

Debian Technical Committee Votes For Systemd Over Upstart

raxx7 Re:Beware journald... (379 comments)

jackd is not a jack of all trades.
It's a specialized application, with a very specific purpose, that it does very well.
Making a general purpose sound server requires a different set of compromises.

"Fixing" those things in jackd means, at best, extra code to support features that are not primary goals for jackd. At worse, it means sacrificing some of jackd's critical features, such as low latency at the expense of everything else.

It Lennart tried to fix jackd, then the proverbial wrench would be thrown at his head by the jackd developers.

about 7 months ago


raxx7 hasn't submitted any stories.


raxx7 has no journal entries.

Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>