Yes, there was many reasons. But I agree, every solution has its own features and drawbacks. So I would suggest that you help to improve LXC - we make good progress.I understand there are good reasons to go from openvz to lxc, but the fact that the containers can see the node's info is a major drawback that makes proxmox unusable for different kind of production environments.
After reading carefully the documentation in the following links:There is no direct relation, because sockets/cores are just attributes describing the processor architecture,
and we simply use the host architecture for containers. CPU limit/units are CFS scheduler settings, which are now available
for containers and kvm VMs.
CPU units is a CFS scheduler feature described here (cpu.shares):
CPU limit refers to 'cfs_period_us' feature described here:
So CPU limit is basically the maximum number of cores a container can utilize.