Index  | Recent Threads  | Unanswered Threads  | Who's Active  | Guidelines  | Search
 

Quick Go »
No member browsing this thread
Thread Status: Active
Total posts in this thread: 2
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 1498 times and has 1 reply Next Thread
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
confused hostid computation and collision

I'm running WCG inside Docker in a Debian based container that I've built myself. This has been working fine for months. It's something I play around with every now and then.
I have just hit an odd situation where I'd get colliding hostids that cause the results from one machine being detached by the other.

In the past I've often used the --suppress_net_info flag (along with --fetch_minimal_work and --exit_when_idle) but this caused the creation of many device ids even when I ran it all on the same node. So eventually, I moved away from it.

I ended up running boinc without --suppress_net_info but setting the same host name through docker (even when running multiple containers in parallel) running in multiple parallel containers. While this would work it would still give me a handful of devices; all with the same name. Sometimes ids would get reused but I never really saw a pattern.

Today, I began creating these containers on multiple machines (one container each). That was when I hit the problem mentioned above. When one boinc talked to WCG again it would invalidate the results of the others etc.

I did a little research and found this article on Host identification and merging. Eventually, I found that I had colliding hostids when looking at the client_state.xml. I started using different host names on different machines. It would still give me colliding hostids but WCG would update(!) the hostname depending on which container called home the last time.

The article left me confused though:
WCG uses a different method to recognize existing devices to prevent duplicate registrations. The server compares the following host information:

user name (network name of host)
domain_name (The default on Windows is "WORKGROUP")
ip_addr (the ip of the client on the local network)
operating system name
processor vendor
memory



  • What does "user name" even mean here??? Network name of host is certainly something different!
  • Changing the hostname led to a different domain_name in client_state.xml
  • OS, CPU and memory are all the same on the nodes.

Here's my guess: user name (?) and domain_name are largely ignored. In the past, running on a single host I probably didn't see problems because ip_addr is different for every container. Running a single container on three different nodes gave me the same IP on all of them.

I'll try forcing docker into using different IPs to see if that makes a difference to WCG. However, I already found that I managed to start one container that has the same IP as another (on another machine) but somehow got a different hostid.

How does WCG actually compute hostids?
[Apr 30, 2020 7:38:21 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Former Member
Cruncher
Joined: May 22, 2018
Post Count: 0
Status: Offline
Reply to this Post  Reply with Quote 
Re: hostid computation and collision

Well, forcing another IP address inside the container gave me another host id.

I'm still puzzled by the role of "user name" and "domain_name" which should also have done the trick (but didn't).
[Apr 30, 2020 7:51:24 PM]   Link   Report threatening or abusive post: please login first  Go to top 
[ Jump to Last Post ]
Post new Thread