On 06/03/2015 09:27 AM, Brian Hicks wrote:
1. We’ve been aliasing everything to “leader/follower” in the projects
I’m a part of. I think it gets rid of the problematic language while
still being descriptive of the architectural model. “agent” makes sense
to me, too (since those processes do have agency in some situations) but
I would call it a second choice, personally.
With all due respect, I think my concerns are being ignored, so I going
to attempt to shed some light on them, again.
Backgound: Although most of my work is in software, Computer scientist,
I also hold degrees in Electrical Engineering and PetroChemical
Engineering. I am "a hardware guy" who writes code and implemnents
technology long before it becomes an industry standard. As an older and
definitely wiser engineer folks are not recognizing the problems that
lead to 'shear idiocy' with some perceived benefit.
IN computers we have busses. This is always a buss-master and slaves
that participate in Buss arbitration as slaves are call
'slave-processor. There are many analogies where you are going to leave
hardware designers scratching their heads and laughing, loudly.
Master-Slave is as much a mathematical term among its myriad of
connotations. It means that master (A) 100% controls slave (B) in a
fully deterministic fashion. It means slave (B) is 100% subservient to
any future requirement yet to be defined or implemented by Master
(A).It's a mathematical thing.
I do not believe there is another word-pair in the English (globish)
language that remotely displays this level of control nor instantaneous
comprehension. Technology is built upon jargon; you mess with that you
risk obscurity. The history of parallel process is a grave-yard of
idiodic terminologies.
Ah *CONTROL THEORY*. Master-Slave is as fundamental as arithmetic. In
the industrial world there are billion if not trillions of master-slave
relationships between hardware, systems and software. It's 100%
deterministic (non-fuzzy unless you count 'dont-care states') for hard,
practical reasons. Often something that acts autonomous, is changed and
brought into "slave mode" to ensure correctness and determinism. A
common example, If you have several process controllers in a series, the
controller at the start of the arrow is always the 'master' and the
controller at the point of the arrow is the slave. Instantly understood
and universally accepted.
It is a convention in hardware and software that is instantaneously
understood. You change that nomenclature and folks are just going to
scratch their head, stick up their hand and say isn't this just a
master-slave relationship? Once you affirm that, then their second
question is the totally predictable, so why not call it master-slave
like everything else does? I could write textbooks on the engineering
usage of 'master-slave' and never have I as an engineer with a
Professional Certification have I never heard of this complaint about
such a prcise meaning in terms. In engineering and science, english is
the best and universal language, but it is mostly a struggle to approach
such accuracy as the terms 'master-slave'. Please do not 'fuzzify' this
well understood and universally accepted jargon. Surely
you and others can find a better pathway for social improvement?
Hardware-->Software-->applications.
-----------------------------------
I know this is a 'software-weenie' intensive group here developing and
testing mesos; surely I fall into that category too. Hell, I build
everything up form 100% sources as a gentoo aficionado. But, clusters
and clouds will make their biggest splash in the 'hardware world', once
ubiquitous computations and general software can be migrated to a
cluster. Mesos is a candidate, but sticking with established industry
jargon, is a very good idea, imo.
Process Controls (the software, hardware and logic used to control
pumps) by some estimates are responsible for more that 40% of all energy
consumption on the globe. There is a gargantuan need to apply
clustering, particularly ubiquitous clusters, so that faster and better
software can have more features and support things like R, Scala, and
Haskell. I'm already on contract to deliver a mesos cluster, to a
company full of technicians to use for 'sensor fusion' and 'video
analytics' Most technicians struggle with windows and macs yet every
thing I've set up for them before on linux or bsd is wonderfully
accepted and operated by *TECHNICIANS*. Please go spend some time in the
field and deploy some state of the art software and train technicians to
use, to 'master it' and how to fix it in the middle of the night so you
can get some sleep (thank GOD for redundancy and hot spares). Cameras
and sensors are 'slaved' to processes and controllers and software,
routinely.
I also am working with some computational chemistry folks (at a
university) for customizing a cluster with very specific and bontiful
embedded systems (FPGAs). Sorry, but the term master-slave is of
paramount importance systemically in that project too.
As a public speaker, as a consultant, as the defacto resident expert on
matters of software-hardware interaction where ever I go, much to my
chagrin, I can tell you unequivacolly I have never ever heard anybody
complain about the term, master or slave or master-slave, in the many
heterogeneous environments over the deecades from the deserts, to the
arctic and places that do not formally exist. *NEVER*. But I will
concede I avoid idiot psycologists and social engineering to those that
like to *waste the time* of others. Me, I have to 'getter done' and
master slave is not optional, its a fundamental mathematical
relationship, since long before the 'Greek masters' and mathematicians.
2. mesos-{whatever-we-decide}
3. I don’t think “master” is as problematic as “slave”, but it does have
some of the same connotations. If we’re going to take the time to
rename, we should rename both. But if it turns out to be infeasible from
a project management standpoint, “master” will probably be fine.
4. same as others have said: start off with documentation changes,
follow through with code changes. Deprecate the old binary names over
several versions, to avoid a cliff.
Masters only have slaves. A master is 100% in control or some form of
autonomy exists. So if you have a master, you have slaves. What level of
math did you finish in school? Did you go to a good university or night
school? You need to brush up on math, for this audience, imho.
I previously suggested that this naming scheme be set up so as to be
'user definable'. You know may 'preprocessor directives' or such. This
would ease the transition across a few releases of mesos and allow for
folks like myself to use industry standard jargon, i.e. to use correct
terms with instantaneous understanding, in a fully deterministic manner.
Where is the discussion on that propose solution? This solution
of user definability is a win-win for all users of mesos. It also set
the stage in the future for nodes that have some degree of well define
autonomy or even experimentation with 'self-modifying-codes' among the
slave populations. It even sets the state for node migration amoung
differnent cluster solutions in data centers.
So if you are fully determined to change the name, why not add some
flexibiilty for the evolution of mesos, but allowing these and other
terms to be 'user definable'?
For what it’s worth, I think it’s good that the Mesos project
understands that the words we use have different meanings to different
people. While I am not “offended” by the current terminology I
understand that master/slave has a strong connotation towards ongoing
civil and human rights abuses, and I would seek to distance the project
from that. Continuing to make these words part of our everyday lexicon
normalizes oppressive structures, and sends a strong signal to people
outside the “blessed” group.
BLAH BLAH BLAH. Really? You sound like a pedantic defining a social evil
that fills you full of guilt;but yet to instantiate for the rest of
society. Can you name one actual person that is offended by the terms
master-slave that will actually peruse the sources? Note: sun-baked
Californians with little productive requirements at their job, do not
count. Boy, I guess the drought is really tougher than the rest of us
realized?
Mesos is an industry-leading technology, and we have a responsibility to build
an inclusive
and friendly community. This is not only for the good of the product, but for
the good of the industry and all the people whose lives are effected by it.
Not if idiotic ideas like this dominate. I suggest you weigh this
perceived benefit against the technical costs and the shear fact that if
these 'workers' are 100% control, they are slaves in ALL common industry
jargon. No wonder EEs laugh at CS folks. Just so you know
there are EE that are building and operating computers that run on
on waves (light). You might also directly comment on the idea of making
these terms 'user definable'. Or is this just some form of tantrum?
So, strong +1.
Brian Hicks
So a realistic and practical -1
Sincerely
James