You can't completely remove locks. You can make them very small and hold them for a very short tine using hardware support. Atomic increments, atomic compare-and-exchange are supported by modern CPUs.
On that base, you can build lock-free data structures.
On that base, you can build lock-free data structures.