Page MenuHomeHEPForge

Removal of master/slave terminology in the code
Closed, ResolvedPublic

Description

The use of such terms as a industry standard is unnecessary and will be removed

Details

Commits
Restricted Differential Revision / rLAURA510007b883f7: Update language to coordinator/task

Event Timeline

mwhitehe created this task.Sep 9 2020, 10:40 AM
mwhitehe triaged this task as High priority.
mwhitehe created this object with visibility "Public (No Login Required)".
mwhitehe created this object with edit policy "Laura (Project)".

List of files containing slave and/or master:

inc/src/examples/
LauAbsFitModel.hhLauAbsFitModel.ccMaster.cc
LauRooFitSlave.hhLauRooFitSlave.ccSlave.cc
LauSimFitMaster.hhLauSimFitMaster.ccSlaveRooFit.cc
LauSimFitSlave.hhLauSimFitSlave.cc
tlatham moved this task from Bug reports to Modernisation on the Laura board.Sep 9 2020, 10:53 AM
tlatham lowered the priority of this task from High to Normal.
tlatham raised the priority of this task from Normal to High.Sep 9 2020, 10:56 AM
mwhitehe added a comment.EditedSep 9 2020, 12:56 PM

There are a few choices of replacements in the literature, some of which are listed here: https://en.wikipedia.org/wiki/Master/slave_(technology):

primary/replica (perhaps doesn't quite describe the situation for the simultaneous fits)
primary/secondary
provider/consumer (again, maybe not quite right in this situation)
coordinator/worker
conductor/musician

Several others replace the more problematic 'slave' but leave 'master', however I'd prefer to avoid this halfway house.

I think the first 3 you list don't really work very well in this context (as you say). However, 'coordinator/worker' describes rather well the relationship of the objects here.
A few alternatives to replace 'master' along the same lines could be 'manager', 'director', or 'controller'.
But I'm struggling to come up with other good alternatives to 'worker', which could maybe still be taken to be a bit pejorative? Maybe 'runner'? Any other ideas?

I suppose at least 'worker' should imply someone being paid for their services. Maybe 'fitter' could also be an option in this case.

tlatham added a comment.EditedSep 9 2020, 2:19 PM

I suppose at least 'worker' should imply someone being paid for their services.

True, it's certainly a massive improvement. And of the alternatives, I think 'manager/worker' is my preferred option at the moment.

Maybe 'fitter' could also be an option in this case.

I don't think 'fitter' works because (to use the current nomenclature) it's actually the 'master' that interfaces with Minuit, while each 'slave' calculates the total NLL for its particular data and model, given the set of parameter values provided by the 'master'. So 'computer' or 'calculator' might be appropriate but they sound a bit odd to me. Maybe in conjunction with 'controller' they could work?

Have switched to coordinator/task as seen in review D35

tlatham added a revision: Restricted Differential Revision.Sep 17 2020, 12:40 PM
mwhitehe closed this task as Resolved.Sep 17 2020, 12:47 PM