Non-blocking architectures for ATM switching